From 05278935a3556dc6848d2aed6ae4a450b4f771d7 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 24 Feb 2006 01:56:10 +0000 Subject: [PATCH] - Call mkdir_defmode() instead of do_mkdir(). - Define orig_umask in this file, not options.c. - Made orig_umask a mode_t, not an int. --- main.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index 9d8723b9..7de34f23 100644 --- a/main.c +++ b/main.c @@ -40,7 +40,6 @@ extern int kluge_around_eof; extern int do_stats; extern int log_got_error; extern int module_id; -extern int orig_umask; extern int copy_links; extern int keep_dirlinks; extern int preserve_hard_links; @@ -62,6 +61,7 @@ extern char *shell_cmd; extern char *batch_name; int local_server = 0; +mode_t orig_umask = 0; struct file_list *the_file_list; /* There's probably never more than at most 2 outstanding child processes, @@ -491,13 +491,11 @@ static char *get_local_name(struct file_list *flist, char *dest_path) if (cp && !cp[1]) *cp = '\0'; - umask(orig_umask); - if (do_mkdir(dest_path, 0777) != 0) { + if (mkdir_defmode(dest_path) != 0) { rsyserr(FERROR, errno, "mkdir %s failed", full_fname(dest_path)); exit_cleanup(RERR_FILEIO); } - umask(0); if (verbose) rprintf(FINFO, "created directory %s\n", dest_path); @@ -1208,7 +1206,7 @@ int main(int argc,char *argv[]) /* we set a 0 umask so that correct file permissions can be * carried across */ - orig_umask = (int)umask(0); + orig_umask = umask(0); #if defined CONFIG_LOCALE && defined HAVE_SETLOCALE setlocale(LC_CTYPE, ""); -- 2.34.1