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
Added MATCHFLG_NEGATE.
[rsync/rsync.git]
/
options.c
diff --git
a/options.c
b/options.c
index
4687802
..
8eb3811
100644
(file)
--- a/
options.c
+++ b/
options.c
@@
-21,6
+21,7
@@
#include "rsync.h"
#include "popt.h"
#include "rsync.h"
#include "popt.h"
+extern int module_id;
extern int sanitize_paths;
extern int select_timeout;
extern struct filter_list_struct filter_list;
extern int sanitize_paths;
extern int select_timeout;
extern struct filter_list_struct filter_list;
@@
-70,9
+71,8
@@
int implied_dirs = 1;
int numeric_ids = 0;
int force_delete = 0;
int io_timeout = 0;
int numeric_ids = 0;
int force_delete = 0;
int io_timeout = 0;
-int module_id = -1;
int am_server = 0;
int am_server = 0;
-int am_sender =
0
;
+int am_sender =
-1
;
int am_generator = 0;
char *files_from = NULL;
int filesfrom_fd = -1;
int am_generator = 0;
char *files_from = NULL;
int filesfrom_fd = -1;
@@
-736,9
+736,9
@@
int parse_arguments(int *argc, const char ***argv, int frommain)
break;
case OPT_MAX_SIZE:
break;
case OPT_MAX_SIZE:
- for (arg = max_size_arg; isdigit(*arg); arg++) {}
+ for (arg = max_size_arg; isdigit(*
(uchar*)
arg); arg++) {}
if (*arg == '.')
if (*arg == '.')
- for (arg++; isdigit(*arg); arg++) {}
+ for (arg++; isdigit(*
(uchar*)
arg); arg++) {}
switch (*arg) {
case 'k': case 'K':
max_size = atof(max_size_arg) * 1024;
switch (*arg) {
case 'k': case 'K':
max_size = atof(max_size_arg) * 1024;
@@
-825,6
+825,9
@@
int parse_arguments(int *argc, const char ***argv, int frommain)
}
}
}
}
+ if (am_sender < 0)
+ am_sender = 0;
+
#if !SUPPORT_LINKS
if (preserve_links && !am_sender) {
snprintf(err_buf, sizeof err_buf,
#if !SUPPORT_LINKS
if (preserve_links && !am_sender) {
snprintf(err_buf, sizeof err_buf,
@@
-914,7
+917,10
@@
int parse_arguments(int *argc, const char ***argv, int frommain)
"You may not combine multiple --delete-WHEN options.\n");
return 0;
}
"You may not combine multiple --delete-WHEN options.\n");
return 0;
}
- if (delete_before || delete_during || delete_after)
+ if (!recurse) {
+ delete_before = delete_during = delete_after = 0;
+ delete_mode = delete_excluded = 0;
+ } else if (delete_before || delete_during || delete_after)
delete_mode = 1;
else if (delete_mode || delete_excluded)
delete_mode = delete_before = 1;
delete_mode = 1;
else if (delete_mode || delete_excluded)
delete_mode = delete_before = 1;
@@
-1126,7
+1132,7
@@
void server_options(char **args,int *argc)
if (copy_links)
argstr[x++] = 'L';
if (xfer_dirs > 1)
if (copy_links)
argstr[x++] = 'L';
if (xfer_dirs > 1)
- argstr[x++] = '
k
';
+ argstr[x++] = '
d
';
if (keep_dirlinks && am_sender)
argstr[x++] = 'K';
if (keep_dirlinks && am_sender)
argstr[x++] = 'K';