X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/57dee64e826b2132c61b1bda18801a79a06c4088..b78296cb0b14777a318635d0608a9bb55ac6ff0d:/main.c diff --git a/main.c b/main.c index 02bee6bf..4855a888 100644 --- a/main.c +++ b/main.c @@ -30,6 +30,7 @@ extern int am_sender; extern int am_generator; extern int am_daemon; extern int verbose; +extern int itemize_changes; extern int blocking_io; extern int delete_before; extern int daemon_over_rsh; @@ -44,6 +45,7 @@ extern int keep_dirlinks; extern int preserve_hard_links; extern int protocol_version; extern int recurse; +extern int fuzzy_basis; extern int relative_paths; extern int rsync_port; extern int whole_file; @@ -222,7 +224,7 @@ static void report(int f) **/ static void show_malloc_stats(void) { -#if HAVE_MALLINFO +#ifdef HAVE_MALLINFO struct mallinfo mi; mi = mallinfo(); @@ -292,7 +294,7 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char *path, dash_l_set = 1; } -#if HAVE_REMSH +#ifdef HAVE_REMSH /* remsh (on HPUX) takes the arguments the other way around */ args[argc++] = machine; if (user && !(daemon_over_rsh && dash_l_set)) { @@ -337,7 +339,7 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char *path, if (verbose > 3) { rprintf(FINFO,"cmd="); for (i = 0; i < argc; i++) - rprintf(FINFO,"%s ",args[i]); + rprintf(FINFO, "%s ", safe_fname(args[i])); rprintf(FINFO,"\n"); } @@ -407,7 +409,7 @@ static char *get_local_name(struct file_list *flist,char *name) exit_cleanup(RERR_FILEIO); } if (verbose > 0) - rprintf(FINFO, "created directory %s\n", name); + rprintf(FINFO, "created directory %s\n", safe_fname(name)); if (dry_run) { dry_run++; @@ -488,7 +490,8 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) int pid; int status = 0; int error_pipe[2], name_pipe[2]; - BOOL need_name_pipe = (basis_dir[0] || partial_dir) && !dry_run; + BOOL need_name_pipe = (basis_dir[0] || partial_dir || fuzzy_basis) + && !dry_run; /* The receiving side mustn't obey this, or an existing symlink that * points to an identical file won't be replaced by the referent. */ @@ -965,10 +968,10 @@ static int start_client(int argc, char *argv[]) if (verbose > 3) { rprintf(FINFO,"cmd=%s machine=%s user=%s path=%s\n", - shell_cmd?shell_cmd:"", - shell_machine?shell_machine:"", - shell_user?shell_user:"", - shell_path?shell_path:""); + shell_cmd ? safe_fname(shell_cmd) : "", + shell_machine ? safe_fname(shell_machine) : "", + shell_user ? safe_fname(shell_user) : "", + shell_path ? safe_fname(shell_path) : ""); } /* for remote source, only single dest arg can remain ... */ @@ -1156,7 +1159,7 @@ int main(int argc,char *argv[]) } if (batch_fd < 0) { rsyserr(FERROR, errno, "Batch file %s open error", - batch_name); + full_fname(batch_name)); exit_cleanup(RERR_FILEIO); } if (read_batch) @@ -1171,8 +1174,8 @@ int main(int argc,char *argv[]) exit_cleanup(RERR_SYNTAX); } - if (dry_run) - verbose = MAX(verbose,1); + if (dry_run && !verbose && !itemize_changes) + verbose = 1; if (am_server) { set_nonblocking(STDIN_FILENO);