Commit 225aeca3 authored by Wayne Davison's avatar Wayne Davison

Use new BITS_EQUAL() define.

parent 0a62f5f3
...@@ -520,8 +520,7 @@ static void do_delete_pass(struct file_list *flist) ...@@ -520,8 +520,7 @@ static void do_delete_pass(struct file_list *flist)
int unchanged_attrs(struct file_struct *file, STRUCT_STAT *st) int unchanged_attrs(struct file_struct *file, STRUCT_STAT *st)
{ {
if (preserve_perms if (preserve_perms && !BITS_EQUAL(st->st_mode, file->mode, CHMOD_BITS))
&& (unsigned)(st->st_mode & CHMOD_BITS) != (file->mode & CHMOD_BITS))
return 0; return 0;
if (am_root && preserve_uid && st->st_uid != F_UID(file)) if (am_root && preserve_uid && st->st_uid != F_UID(file))
...@@ -548,7 +547,7 @@ void itemize(struct file_struct *file, int ndx, int statret, STRUCT_STAT *st, ...@@ -548,7 +547,7 @@ void itemize(struct file_struct *file, int ndx, int statret, STRUCT_STAT *st,
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname)) && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
|| (keep_time && cmp_time(file->modtime, st->st_mtime) != 0)) || (keep_time && cmp_time(file->modtime, st->st_mtime) != 0))
iflags |= ITEM_REPORT_TIME; iflags |= ITEM_REPORT_TIME;
if ((unsigned)(st->st_mode & CHMOD_BITS) != (file->mode & CHMOD_BITS)) if (!BITS_EQUAL(st->st_mode, file->mode, CHMOD_BITS))
iflags |= ITEM_REPORT_PERMS; iflags |= ITEM_REPORT_PERMS;
if (preserve_uid && am_root && F_UID(file) != st->st_uid) if (preserve_uid && am_root && F_UID(file) != st->st_uid)
iflags |= ITEM_REPORT_OWNER; iflags |= ITEM_REPORT_OWNER;
...@@ -1342,7 +1341,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, ...@@ -1342,7 +1341,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
t = "special file"; t = "special file";
} }
if (statret == 0 if (statret == 0
&& (unsigned)(st.st_mode & ~CHMOD_BITS) == (file->mode & ~CHMOD_BITS) && BITS_EQUAL(st.st_mode, file->mode, _S_IFMT)
&& st.st_rdev == rdev) { && st.st_rdev == rdev) {
/* The device or special file is identical. */ /* The device or special file is identical. */
if (itemizing) if (itemizing)
......
...@@ -261,7 +261,7 @@ int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st, ...@@ -261,7 +261,7 @@ int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st,
if (daemon_chmod_modes && !S_ISLNK(new_mode)) if (daemon_chmod_modes && !S_ISLNK(new_mode))
new_mode = tweak_mode(new_mode, daemon_chmod_modes); new_mode = tweak_mode(new_mode, daemon_chmod_modes);
#ifdef HAVE_CHMOD #ifdef HAVE_CHMOD
if ((st->st_mode & CHMOD_BITS) != (new_mode & CHMOD_BITS)) { if (!BITS_EQUAL(st->st_mode, new_mode, CHMOD_BITS)) {
int ret = do_chmod(fname, new_mode); int ret = do_chmod(fname, new_mode);
if (ret < 0) { if (ret < 0) {
rsyserr(FERROR, errno, rsyserr(FERROR, errno,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment