aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-02-24 01:56:10 +0000
committerWayne Davison <wayned@samba.org>2006-02-24 01:56:10 +0000
commit05278935a3556dc6848d2aed6ae4a450b4f771d7 (patch)
tree6a081a7cd26ba6016022ebd325f7129ec39b37e6 /main.c
parenta56cdef9b147714d2762fb93c47d7fa0808433c9 (diff)
downloadandroid_external_rsync-05278935a3556dc6848d2aed6ae4a450b4f771d7.tar.gz
android_external_rsync-05278935a3556dc6848d2aed6ae4a450b4f771d7.tar.bz2
android_external_rsync-05278935a3556dc6848d2aed6ae4a450b4f771d7.zip
- 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.
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files 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, "");