X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1bd9db74ba614656d016e360cc780df11fc706fc..c32edbe02eaf8ae9ed1bf6d766ab4f4c34881217:/options.c diff --git a/options.c b/options.c index b95e1e45..944bb249 100644 --- a/options.c +++ b/options.c @@ -21,6 +21,7 @@ #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; @@ -70,7 +71,6 @@ int implied_dirs = 1; int numeric_ids = 0; int force_delete = 0; int io_timeout = 0; -int module_id = -1; int am_server = 0; int am_sender = 0; int am_generator = 0; @@ -105,7 +105,7 @@ long block_size = 0; /* "long" because popt can't set an int32. */ /** Network address family. **/ -#ifdef INET6 +#if INET6 int default_af_hint = 0; /* Any protocol */ #else int default_af_hint = AF_INET; /* Must use IPv4 */ @@ -168,7 +168,7 @@ static void print_rsync_version(enum logcode f) char const *ipv6 = "no "; STRUCT_STAT *dumstat; -#ifdef HAVE_SOCKETPAIR +#if HAVE_SOCKETPAIR got_socketpair = ""; #endif @@ -327,7 +327,7 @@ void usage(enum logcode F) rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n"); rprintf(F," --write-batch=FILE write a batched update to FILE\n"); rprintf(F," --read-batch=FILE read a batched update from FILE\n"); -#ifdef INET6 +#if INET6 rprintf(F," -4, --ipv4 prefer IPv4\n"); rprintf(F," -6, --ipv6 prefer IPv6\n"); #endif @@ -432,7 +432,7 @@ static struct poptOption long_options[] = { {"no-implied-dirs", 0, POPT_ARG_VAL, &implied_dirs, 0, 0, 0 }, {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 }, {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 }, -#ifdef INET6 +#if INET6 {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, #endif @@ -455,7 +455,7 @@ static void daemon_usage(enum logcode F) rprintf(F," --no-detach do not detach from the parent\n"); rprintf(F," --port=PORT listen on alternate port number\n"); rprintf(F," -v, --verbose increase verbosity\n"); -#ifdef INET6 +#if INET6 rprintf(F," -4, --ipv4 prefer IPv4\n"); rprintf(F," -6, --ipv6 prefer IPv6\n"); #endif @@ -471,7 +471,7 @@ static struct poptOption long_daemon_options[] = { {"bwlimit", 0, POPT_ARG_INT, &daemon_bwlimit, 0, 0, 0 }, {"config", 0, POPT_ARG_STRING, &config_file, 0, 0, 0 }, {"daemon", 0, POPT_ARG_NONE, &daemon_opt, 0, 0, 0 }, -#ifdef INET6 +#if INET6 {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, #endif @@ -736,9 +736,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) break; case OPT_MAX_SIZE: - for (arg = max_size_arg; isdigit(*arg); arg++) {} + for (arg = max_size_arg; isdigit(*(uchar*)arg); 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; @@ -914,7 +914,10 @@ int parse_arguments(int *argc, const char ***argv, int frommain) "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; @@ -1126,7 +1129,7 @@ void server_options(char **args,int *argc) if (copy_links) argstr[x++] = 'L'; if (xfer_dirs > 1) - argstr[x++] = 'k'; + argstr[x++] = 'd'; if (keep_dirlinks && am_sender) argstr[x++] = 'K';