X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/c948e309f27c3edaef8a5a4dfc04e0da98944c97..b35d0d8e9ae9c5407c9f781b545f8a66b9caa9d0:/generator.c diff --git a/generator.c b/generator.c index c1b94fd8..8e4ede09 100644 --- a/generator.c +++ b/generator.c @@ -239,6 +239,7 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) extern int list_only; extern int preserve_perms; extern int only_existing; + extern int orig_umask; if (list_only) return; @@ -281,7 +282,7 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) } if (statret != 0 && do_mkdir(fname,file->mode) != 0 && errno != EEXIST) { if (!(relative_paths && errno==ENOENT && - create_directory_path(fname)==0 && + create_directory_path(fname, orig_umask)==0 && do_mkdir(fname,file->mode)==0)) { rprintf(FERROR, RSYNC_NAME ": recv_generator: mkdir \"%s\": %s (2)\n", fname,strerror(errno));