}
+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
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));
-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;
globfree(&globbuf);
return;
}
- for (i=0; i<(maxargs - (*argc)) && i<globbuf.gl_pathc;i++) {
+ for (i=0; i<(maxargs - (*argc)) && i < (int) globbuf.gl_pathc;i++) {
if (i == 0) free(argv[*argc]);
argv[(*argc) + i] = strdup(globbuf.gl_pathv[i]);
if (!argv[(*argc) + i]) out_of_memory("glob_expand");