Use preserve_[ug]id values for send/recv checking, which will
[rsync/rsync.git] / generator.c
index d192aee..f4f15bb 100644 (file)
@@ -565,7 +565,7 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
        if (preserve_perms && !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS))
                return 0;
 
-       if (preserve_executability && ((sxp->st.st_mode & 0111) != 0) ^ ((file->mode & 0111) != 0))
+       if (preserve_executability && ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
                return 0;
 
        if (am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file))