If lchown() is not available, we only skip the call to chown() for a
authorWayne Davison <wayned@samba.org>
Mon, 3 Jan 2005 22:47:55 +0000 (22:47 +0000)
committerWayne Davison <wayned@samba.org>
Mon, 3 Jan 2005 22:47:55 +0000 (22:47 +0000)
symlink if it will try to follow the symlink (as a normal OS should).

rsync.c

diff --git a/rsync.c b/rsync.c
index 8ee09c7cb233e9bb08d08854f61a32de1ef93732..f8206e52e524942b49f8ac875843ad6550ff7d69 100644 (file)
--- a/rsync.c
+++ b/rsync.c
@@ -161,7 +161,7 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
        change_uid = am_root && preserve_uid && st->st_uid != file->uid;
        change_gid = preserve_gid && file->gid != GID_NONE
                && st->st_gid != file->gid;
-#if !HAVE_LCHOWN
+#if !HAVE_LCHOWN && !CHOWN_MODIFIES_SYMLINK
        if (S_ISLNK(st->st_mode))
                ;
        else