From: Wayne Davison Date: Mon, 21 May 2007 02:17:48 +0000 (+0000) Subject: Cast some F_OWNER()/F_GROUP() values to make sure that we don't get X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/858d45f1601354a91913c201ecd15e1bbcb28ba6?hp=63186ec0777af853fafe75b74184576f235c7d4d Cast some F_OWNER()/F_GROUP() values to make sure that we don't get a signed/unsigned compiler warning on some systems. --- diff --git a/flist.c b/flist.c index ce91092a..3fda8383 100644 --- a/flist.c +++ b/flist.c @@ -412,7 +412,7 @@ static void send_file_entry(int f, struct file_struct *file, int ndx) } else if (protocol_version < 28) rdev = MAKEDEV(0, 0); if (preserve_uid) { - if (F_OWNER(file) == uid && *lastname) + if ((uid_t)F_OWNER(file) == uid && *lastname) flags |= XMIT_SAME_UID; else { uid = F_OWNER(file); @@ -424,7 +424,7 @@ static void send_file_entry(int f, struct file_struct *file, int ndx) } } if (preserve_gid) { - if (F_GROUP(file) == gid && *lastname) + if ((gid_t)F_GROUP(file) == gid && *lastname) flags |= XMIT_SAME_GID; else { gid = F_GROUP(file); diff --git a/generator.c b/generator.c index db1de189..05022cf1 100644 --- a/generator.c +++ b/generator.c @@ -521,10 +521,10 @@ int unchanged_attrs(const char *fname, struct file_struct *file, statx *sxp) if (preserve_perms && !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS)) return 0; - if (am_root && preserve_uid && sxp->st.st_uid != F_OWNER(file)) + if (am_root && preserve_uid && sxp->st.st_uid != (uid_t)F_OWNER(file)) return 0; - if (preserve_gid && !(file->flags & FLAG_SKIP_GROUP) && sxp->st.st_gid != F_GROUP(file)) + if (preserve_gid && !(file->flags & FLAG_SKIP_GROUP) && sxp->st.st_gid != (gid_t)F_GROUP(file)) return 0; #ifdef SUPPORT_ACLS @@ -565,10 +565,10 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre iflags |= ITEM_REPORT_TIME; if (!BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS)) iflags |= ITEM_REPORT_PERMS; - if (preserve_uid && am_root && F_OWNER(file) != sxp->st.st_uid) + if (preserve_uid && am_root && (uid_t)F_OWNER(file) != sxp->st.st_uid) iflags |= ITEM_REPORT_OWNER; if (preserve_gid && !(file->flags & FLAG_SKIP_GROUP) - && sxp->st.st_gid != F_GROUP(file)) + && sxp->st.st_gid != (gid_t)F_GROUP(file)) iflags |= ITEM_REPORT_GROUP; #ifdef SUPPORT_ACLS if (preserve_acls && !S_ISLNK(file->mode)) { diff --git a/rsync.c b/rsync.c index 935c5ddc..9772b742 100644 --- a/rsync.c +++ b/rsync.c @@ -322,9 +322,9 @@ int set_file_attrs(const char *fname, struct file_struct *file, statx *sxp, updated = 1; } - change_uid = am_root && preserve_uid && sxp->st.st_uid != F_OWNER(file); + change_uid = am_root && preserve_uid && sxp->st.st_uid != (uid_t)F_OWNER(file); change_gid = preserve_gid && !(file->flags & FLAG_SKIP_GROUP) - && sxp->st.st_gid != F_GROUP(file); + && sxp->st.st_gid != (gid_t)F_GROUP(file); #if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK if (S_ISLNK(sxp->st.st_mode)) ; @@ -346,8 +346,8 @@ int set_file_attrs(const char *fname, struct file_struct *file, statx *sxp, if (am_root < 0) { ; } else if (do_lchown(fname, - change_uid ? F_OWNER(file) : sxp->st.st_uid, - change_gid ? F_GROUP(file) : sxp->st.st_gid) != 0) { + change_uid ? (uid_t)F_OWNER(file) : sxp->st.st_uid, + change_gid ? (gid_t)F_GROUP(file) : sxp->st.st_gid) != 0) { /* shouldn't have attempted to change uid or gid * unless have the privilege */ rsyserr(FERROR, errno, "%s %s failed",