file->u.link = NULL;
} else
file->mode = save_mode;
-@@ -1377,7 +1375,7 @@ struct file_list *recv_file_list(int f)
+@@ -1379,7 +1377,7 @@ struct file_list *recv_file_list(int f)
clean_flist(flist, relative_paths, 1);
if (f >= 0) {
/* Recv the io_error flag */
if (lp_ignore_errors(module_id) || ignore_errors)
-@@ -1693,13 +1691,15 @@ static void output_flist(struct file_lis
+@@ -1695,13 +1693,15 @@ static void output_flist(struct file_lis
for (i = 0; i < flist->count; i++) {
file = flist->files[i];
extern struct chmod_mode_struct *daemon_chmod_modes;
#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
-@@ -127,6 +128,8 @@ int set_file_attrs(char *fname, struct f
- int updated = 0;
+@@ -130,6 +131,8 @@ int set_file_attrs(char *fname, struct f
STRUCT_STAT st2;
int change_uid, change_gid;
+ mode_t new_mode = file->mode;
+ uid_t uid;
+ gid_t gid;
if (!st) {
if (dry_run)
-@@ -159,9 +162,11 @@ int set_file_attrs(char *fname, struct f
+@@ -162,9 +165,11 @@ int set_file_attrs(char *fname, struct f
updated = 1;
}
#if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK
if (S_ISLNK(st->st_mode))
;
-@@ -173,18 +178,18 @@ int set_file_attrs(char *fname, struct f
+@@ -176,18 +181,18 @@ int set_file_attrs(char *fname, struct f
rprintf(FINFO,
"set uid of %s from %ld to %ld\n",
fname,