X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/28b519c93b6db30b6520d46f8cd65160213fddd2..bd685982389b78a158921b7839bdeca501338d19:/util.c diff --git a/util.c b/util.c index 3f611d15..abf0cd48 100644 --- a/util.c +++ b/util.c @@ -94,6 +94,7 @@ int fd_pair(int fd[2]) void print_child_argv(const char *prefix, char **cmd) { + int cnt = 0; rprintf(FCLIENT, "%s ", prefix); for (; *cmd; cmd++) { /* Look for characters that ought to be quoted. This @@ -107,8 +108,9 @@ void print_child_argv(const char *prefix, char **cmd) } else { rprintf(FCLIENT, "%s ", *cmd); } + cnt++; } - rprintf(FCLIENT, "\n"); + rprintf(FCLIENT, " (%d args)\n", cnt); } NORETURN void out_of_memory(const char *str) @@ -1062,8 +1064,9 @@ int change_dir(const char *dir, int set_path_only) errno = ENAMETOOLONG; return 0; } - curr_dir[curr_dir_len] = '/'; - memcpy(curr_dir + curr_dir_len + 1, dir, len + 1); + if (!(curr_dir_len && curr_dir[curr_dir_len-1] == '/')) + curr_dir[curr_dir_len++] = '/'; + memcpy(curr_dir + curr_dir_len, dir, len + 1); if (!set_path_only && chdir(curr_dir)) { curr_dir[curr_dir_len] = '\0';