Output a syntax error if both the source and destination are remote.
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index c0196d2..5ebe2dd 100644 (file)
--- a/main.c
+++ b/main.c
@@ -872,6 +872,13 @@ static int start_client(int argc, char *argv[])
                argc--;
                shell_path = check_for_hostspec(argv[0], &shell_machine, &rsync_port);
                if (shell_path) { /* source is remote */
+                       char *dummy1;
+                       int dummy2;
+                       if (check_for_hostspec(argv[argc], &dummy1, &dummy2)) {
+                               rprintf(FERROR,
+                                       "The source and destination cannot both be remote.\n");
+                               exit_cleanup(RERR_SYNTAX);
+                       }
                        argv++;
                        if (filesfrom_host && *filesfrom_host
                            && strcmp(filesfrom_host, shell_machine) != 0) {