Fixed an off-by-one comparison against MAX_BASIS_DIRS.
[rsync/rsync.git] / options.c
index 14c60ce..6f13503 100644 (file)
--- 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,8 +145,6 @@ 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 = NULL;
 static char *max_size_arg;
 
@@ -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);