/* Inline functions for rsync.
*
- * Copyright (C) 2007-2013 Wayne Davison
+ * Copyright (C) 2007-2022 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
static inline void
alloc_xbuf(xbuf *xb, size_t sz)
{
- if (!(xb->buf = new_array(char, sz)))
- out_of_memory("alloc_xbuf");
+ xb->buf = new_array(char, sz);
xb->size = sz;
xb->len = xb->pos = 0;
}
realloc_xbuf(xbuf *xb, size_t sz)
{
char *bf = realloc_array(xb->buf, char, sz);
- if (!bf)
- out_of_memory("realloc_xbuf");
xb->buf = bf;
xb->size = sz;
}
static inline void
init_stat_x(stat_x *sx_p)
{
+ sx_p->crtime = 0;
#ifdef SUPPORT_ACLS
sx_p->acc_acl = sx_p->def_acl = NULL;
#endif
static inline void
free_stat_x(stat_x *sx_p)
{
- extern int preserve_acls, preserve_xattrs;
#ifdef SUPPORT_ACLS
+ {
+ extern int preserve_acls;
if (preserve_acls)
free_acl(sx_p);
+ }
#endif
#ifdef SUPPORT_XATTRS
+ {
+ extern int preserve_xattrs;
if (preserve_xattrs)
free_xattr(sx_p);
+ }
#endif
}
+
+static inline char *my_strdup(const char *str, const char *file, int line)
+{
+ int len = strlen(str)+1;
+ char *buf = my_alloc(NULL, len, 1, file, line);
+ memcpy(buf, str, len);
+ return buf;
+}