Commit 5ad0e46f authored by Martin Pool's avatar Martin Pool

Show command used to start connection child.

parent 1b5814e3
...@@ -17,6 +17,9 @@ rsync 2.5.2 (???) ...@@ -17,6 +17,9 @@ rsync 2.5.2 (???)
ENHANCEMENTS: ENHANCEMENTS:
* With -v, rsync now shows the command used to initiate an ssh/rsh
connection.
* --statistics now shows memory heap usage on platforms that * --statistics now shows memory heap usage on platforms that
support mallinfo(). support mallinfo().
......
...@@ -84,6 +84,26 @@ int fd_pair(int fd[2]) ...@@ -84,6 +84,26 @@ int fd_pair(int fd[2])
} }
void print_child_argv(char **cmd)
{
rprintf(FINFO, RSYNC_NAME ": open 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 /* this is derived from CVS code
note that in the child STDIN is set to blocking and STDOUT 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) ...@@ -100,6 +120,10 @@ pid_t piped_child(char **command, int *f_in, int *f_out)
int to_child_pipe[2]; int to_child_pipe[2];
int from_child_pipe[2]; int from_child_pipe[2];
extern int blocking_io; extern int blocking_io;
if (verbose > 0) {
print_child_argv(command);
}
if (fd_pair(to_child_pipe) < 0 || fd_pair(from_child_pipe) < 0) { if (fd_pair(to_child_pipe) < 0 || fd_pair(from_child_pipe) < 0) {
rprintf(FERROR, "pipe: %s\n", strerror(errno)); rprintf(FERROR, "pipe: %s\n", strerror(errno));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment