Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed an off-by-one comparison against MAX_BASIS_DIRS.
[rsync/rsync.git]
/
options.c
diff --git
a/options.c
b/options.c
index
9a021c3
..
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;
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 copy_dest = 0;
int link_dest = 0;
+int basis_dir_cnt = 0;
int verbose = 0;
int quiet = 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 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
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:
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);
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;
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
#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");
} else {
if (keep_partial && !partial_dir)
partial_dir = getenv("RSYNC_PARTIAL_DIR");