diff options
author | Wayne Davison <wayned@samba.org> | 2011-05-30 08:24:27 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2011-05-30 08:24:27 -0700 |
commit | cb0db58fb30d05a8d050d22849aeb1b8f1507fbc (patch) | |
tree | 3160afcf567fb3b561c85982d763dc3dc1b81390 /generator.c | |
parent | 582aead623bd2e9d157e84ca2ffbb501330369c1 (diff) | |
download | android_external_rsync-cb0db58fb30d05a8d050d22849aeb1b8f1507fbc.tar.gz android_external_rsync-cb0db58fb30d05a8d050d22849aeb1b8f1507fbc.tar.bz2 android_external_rsync-cb0db58fb30d05a8d050d22849aeb1b8f1507fbc.zip |
Fix unwritable directory issue due to misordered chmod call.
Diffstat (limited to 'generator.c')
-rw-r--r-- | generator.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/generator.c b/generator.c index 326ccd88..cd7abda2 100644 --- a/generator.c +++ b/generator.c @@ -1354,6 +1354,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, } } +#ifdef SUPPORT_XATTRS + if (preserve_xattrs && statret == 1) + copy_xattrs(fnamecmpbuf, fname); +#endif + if (set_file_attrs(fname, file, real_ret ? NULL : &real_sx, NULL, 0) + && INFO_GTE(NAME, 1) && code != FNONE && f_out != -1) + rprintf(code, "%s/\n", fname); + /* We need to ensure that the dirs in the transfer have writable * permissions during the time we are putting files within them. * This is then fixed after the transfer is done. */ @@ -1369,14 +1377,6 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, } #endif -#ifdef SUPPORT_XATTRS - if (preserve_xattrs && statret == 1) - copy_xattrs(fnamecmpbuf, fname); -#endif - if (set_file_attrs(fname, file, real_ret ? NULL : &real_sx, NULL, 0) - && INFO_GTE(NAME, 1) && code != FNONE && f_out != -1) - rprintf(code, "%s/\n", fname); - if (real_ret != 0 && one_file_system) real_sx.st.st_dev = filesystem_dev; if (inc_recurse) { |