X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f39b6638f682b76289c6399de6f8660086a8fda9..04575bcab50c688b26560928e7c0bcd3b6ee32e8:/options.c diff --git a/options.c b/options.c index 6deafd0c..26dfd769 100644 --- a/options.c +++ b/options.c @@ -688,6 +688,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain) files_from = alloc_sanitize_path(files_from, curr_dir); } + if (daemon_opt) { + daemon_opt = 0; + am_daemon = 1; + return 1; + } + if (!backup_suffix) backup_suffix = backup_dir ? "" : BACKUP_SUFFIX; backup_suffix_len = strlen(backup_suffix); @@ -707,9 +713,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) backup_dir_buf[backup_dir_len++] = '/'; backup_dir_buf[backup_dir_len] = '\0'; } - if (verbose > 1) + if (verbose > 1 && !am_sender) rprintf(FINFO, "backup_dir is %s\n", backup_dir_buf); - } else if (!backup_suffix_len) { + } else if (!backup_suffix_len && (!am_server || !am_sender)) { rprintf(FERROR, "--suffix cannot be a null string without --backup-dir\n"); exit_cleanup(RERR_SYNTAX); @@ -720,7 +726,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) if (files_from) { char *colon; - if (*argc != 2) { + if (*argc != 2 && !(am_server && am_sender && *argc == 1)) { usage(FERROR); exit_cleanup(RERR_SYNTAX); } @@ -750,9 +756,6 @@ int parse_arguments(int *argc, const char ***argv, int frommain) } } - if (daemon_opt) - am_daemon = 1; - return 1; }