}
if (link_dest) {
if (preserve_perms
- && (st->st_mode & ~_S_IFMT) != (file->mode & ~_S_IFMT))
+ && (st->st_mode & ~_S_IFMT) != (file->mode & ~_S_IFMT))
return 0;
if (am_root && preserve_uid && st->st_uid != file->uid)
return 0;
- if (preserve_gid && file->gid != (gid_t)-1
- && st->st_gid != file->gid)
+ if (preserve_gid && file->gid != GID_NONE
+ && st->st_gid != file->gid)
return 0;
}
}
change_uid = am_root && preserve_uid && st->st_uid != file->uid;
- change_gid = preserve_gid && file->gid != (gid_t)-1
+ change_gid = preserve_gid && file->gid != GID_NONE
&& st->st_gid != file->gid;
if (change_uid || change_gid) {
if (do_lchown(fname,
#define IN_LOOPBACKNET 127
#endif
+#define GID_NONE (gid_t) -1
+
struct file_struct {
unsigned flags;
time_t modtime;
if (am_root)
last_out = gid;
else
- last_out = (gid_t)-1;
+ last_out = GID_NONE;
return last_out;
}
}
list->id2 = map_gid(id, name);
if (!am_root && !is_in_group(list->id2))
- list->id2 = (gid_t)-1;
+ list->id2 = GID_NONE;
free(name);
}
}