summaryrefslogtreecommitdiff
path: root/options.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2009-12-29 12:08:41 -0800
committerWayne Davison <wayned@samba.org>2009-12-29 12:08:41 -0800
commit4c4a2962097e618480d37ffffbb2a2714a6ecbf5 (patch)
tree63c7984802aa4b766ae0753bbed28102c565d0ac /options.c
parente89a0fc094c1edc4382e1b218c7f3fd50676101d (diff)
downloadrsync-4c4a2962097e618480d37ffffbb2a2714a6ecbf5.tar.gz
Allow "./configure --with-protect-args" to make -s the default.
Diffstat (limited to 'options.c')
-rw-r--r--options.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/options.c b/options.c
index 1f8f5721..fa3bdcd6 100644
--- a/options.c
+++ b/options.c
@@ -93,7 +93,7 @@ char *files_from = NULL;
int filesfrom_fd = -1;
char *filesfrom_host = NULL;
int eol_nulls = 0;
-int protect_args = 0;
+int protect_args = -1;
int human_readable = 1;
int recurse = 0;
int allow_inc_recurse = 1;
@@ -1278,7 +1278,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
#ifdef ICONV_OPTION
- if (!am_daemon && !protect_args && (arg = getenv("RSYNC_ICONV")) != NULL && *arg)
+ if (!am_daemon && protect_args <= 0 && (arg = getenv("RSYNC_ICONV")) != NULL && *arg)
iconv_opt = strdup(arg);
#endif
@@ -1333,6 +1333,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
#ifdef ICONV_OPTION
iconv_opt = NULL;
#endif
+ protect_args = 0;
poptFreeContext(pc);
pc = poptGetContext(RSYNC_NAME, argc, argv,
long_daemon_options, 0);
@@ -1778,6 +1779,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
+ if (protect_args < 0) {
+#ifdef RSYNC_USE_PROTECTED_ARGS
+ if (!am_server)
+ protect_args = 1;
+ else
+#endif
+ protect_args = 0;
+ }
+
if (human_readable > 1 && argc == 2 && !am_server) {
/* Allow the old meaning of 'h' (--help) on its own. */
usage(FINFO);