Don't backslash-escape args for a local transfer.
authorWayne Davison <wayne@opencoder.net>
Wed, 19 Jan 2022 06:42:20 +0000 (22:42 -0800)
committerWayne Davison <wayne@opencoder.net>
Wed, 19 Jan 2022 06:47:05 +0000 (22:47 -0800)
main.c

diff --git a/main.c b/main.c
index 9019a9e9ecd015eb2928830fff6539f957ccbc90..58920a2d62b94bdd800f273a3edbfd4dfc4d4210 100644 (file)
--- a/main.c
+++ b/main.c
@@ -48,6 +48,7 @@ extern int called_from_signal_handler;
 extern int need_messages_from_generator;
 extern int kluge_around_eof;
 extern int got_xfer_error;
+extern int old_style_args;
 extern int msgs2stderr;
 extern int module_id;
 extern int read_only;
@@ -1470,6 +1471,10 @@ static int start_client(int argc, char *argv[])
                rsync_port = 0;
        }
 
+       /* A local transfer doesn't unbackslash anything, so leave the args alone. */
+       if (local_server)
+               old_style_args = 2;
+
        if (!rsync_port && remote_argc && !**remote_argv) /* Turn an empty arg into a dot dir. */
                *remote_argv = ".";