From 2469c6127a274d3d96a1fd47f55c31d51ecf03cd Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 28 Jul 2005 00:59:15 +0000 Subject: [PATCH] Fixed a problem with some relocated code in last patch. --- rsyncd-perm.diff | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/rsyncd-perm.diff b/rsyncd-perm.diff index de1d357..ba16931 100644 --- a/rsyncd-perm.diff +++ b/rsyncd-perm.diff @@ -45,7 +45,7 @@ /* local prototypes */ static int strwicmp(char *psz1, char *psz2); --- orig/rsync.c 2005-07-27 23:31:12 -+++ rsync.c 2005-07-27 23:49:21 ++++ rsync.c 2005-07-28 00:54:53 @@ -32,6 +32,8 @@ extern int am_server; extern int am_sender; extern int am_generator; @@ -55,12 +55,18 @@ extern int preserve_uid; extern int preserve_gid; extern int inplace; -@@ -56,6 +58,17 @@ int set_perms(char *fname,struct file_st +@@ -56,6 +58,7 @@ int set_perms(char *fname,struct file_st int updated = 0; STRUCT_STAT st2; int change_uid, change_gid; + mode_t mode = file->mode; /* file->mode shouldn't be modified */ -+ + + if (!st) { + if (dry_run) +@@ -125,9 +128,19 @@ int set_perms(char *fname,struct file_st + updated = 1; + } + + if (am_daemon) { + if (S_ISDIR(st->st_mode)) { + mode = (mode & lp_directory_mask(module_id)) @@ -70,12 +76,7 @@ + | lp_force_create_mode(module_id); + } + } - - if (!st) { - if (dry_run) -@@ -126,8 +139,8 @@ int set_perms(char *fname,struct file_st - } - ++ #ifdef HAVE_CHMOD - if ((st->st_mode & CHMOD_BITS) != (file->mode & CHMOD_BITS)) { - int ret = do_chmod(fname, file->mode); -- 2.34.1