X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a06b419d425294588bbc6ef943246e78ca16cd73..3b26bba0c44c38d33888f375385a8697adc56f7c:/options.c diff --git a/options.c b/options.c index 9a021c35..6f135034 100644 --- a/options.c +++ b/options.c @@ -130,8 +130,10 @@ char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; char backup_dir_buf[MAXPATHLEN]; int rsync_port = 0; +int compare_dest = 0; int copy_dest = 0; int link_dest = 0; +int basis_dir_cnt = 0; int verbose = 0; int quiet = 0; @@ -143,9 +145,7 @@ char *batch_name = NULL; static int daemon_opt; /* sets am_daemon after option error-reporting */ static int modify_window_set; -static int compare_dest = 0; -static int basis_dir_cnt = 0; -static char *dest_option; +static char *dest_option = NULL; static char *max_size_arg; /** Local address to bind. As a character string because it's @@ -738,7 +738,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) compare_dest = 1; dest_option = "--compare-dest"; set_dest_dir: - if (basis_dir_cnt >= MAX_BASIS_DIRS-1) { + if (basis_dir_cnt >= MAX_BASIS_DIRS) { snprintf(err_buf, sizeof err_buf, "ERROR: at most %d %s args may be specified\n", MAX_BASIS_DIRS, dest_option); @@ -952,18 +952,18 @@ int parse_arguments(int *argc, const char ***argv, int frommain) return 0; } keep_partial = 0; + if (dest_option) { + snprintf(err_buf, sizeof err_buf, + "--inplace does not yet work with %s\n", + dest_option); + return 0; + } #else snprintf(err_buf, sizeof err_buf, "--inplace is not supported on this %s\n", am_server ? "server" : "client"); return 0; #endif - if (compare_dest || copy_dest || link_dest) { - snprintf(err_buf, sizeof err_buf, - "--inplace does not yet work with %s\n", - dest_option); - return 0; - } } else { if (keep_partial && !partial_dir) partial_dir = getenv("RSYNC_PARTIAL_DIR");