X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1b5814e33876c8f2637ec23e8b33556541b938f9..c579310a009dc21a0f2b378c711980336f79add6:/util.c diff --git a/util.c b/util.c index 63073bd7..c1e04710 100644 --- a/util.c +++ b/util.c @@ -84,6 +84,26 @@ int fd_pair(int fd[2]) } +static void print_child_argv(char **cmd) +{ + rprintf(FINFO, "opening connection using "); + for (; *cmd; cmd++) { + /* Look for characters that ought to be quoted. This + * is not a great quoting algorithm, but it's + * sufficient for a log message. */ + if (strspn(*cmd, "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "0123456789" + ",.-_=+@/") != strlen(*cmd)) { + rprintf(FINFO, "\"%s\" ", *cmd); + } else { + rprintf(FINFO, "%s ", *cmd); + } + } + rprintf(FINFO, "\n"); +} + + /* this is derived from CVS code note that in the child STDIN is set to blocking and STDOUT @@ -100,6 +120,10 @@ pid_t piped_child(char **command, int *f_in, int *f_out) int to_child_pipe[2]; int from_child_pipe[2]; extern int blocking_io; + + if (verbose >= 2) { + print_child_argv(command); + } if (fd_pair(to_child_pipe) < 0 || fd_pair(from_child_pipe) < 0) { rprintf(FERROR, "pipe: %s\n", strerror(errno)); @@ -216,10 +240,18 @@ void overflow(char *str) -int set_modtime(char *fname,time_t modtime) +int set_modtime(char *fname, time_t modtime) { extern int dry_run; - if (dry_run) return 0; + if (dry_run) + return 0; + + if (verbose > 2) { + rprintf(FINFO, "set modtime of %s to (%ld) %s", + fname, (long) modtime, + asctime(localtime(&modtime))); + } + { #ifdef HAVE_UTIMBUF struct utimbuf tbuf; @@ -535,7 +567,7 @@ static void glob_expand_one(char *s, char **argv, int *argc, int maxargs) globfree(&globbuf); return; } - for (i=0; i<(maxargs - (*argc)) && i 1024*1024) {