X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/80ddadb7e8cf689baacfd5cd97edcb9d9540e77e..6969ebcfcfa9382ce2a845e1b462d26de12c0c36:/options.c diff --git a/options.c b/options.c index a4111ca2..52fc8c75 100644 --- a/options.c +++ b/options.c @@ -294,15 +294,10 @@ void usage(enum logcode F) rprintf(F,"See http://rsync.samba.org/ for updates, bug reports, and answers\n"); } -enum {OPT_VERSION = 1000, OPT_SENDER, OPT_SERVER, OPT_EXCLUDE, - OPT_EXCLUDE_FROM, OPT_DELETE, OPT_DELETE_EXCLUDED, OPT_NUMERIC_IDS, - OPT_RSYNC_PATH, OPT_FORCE, OPT_TIMEOUT, OPT_DAEMON, OPT_CONFIG, OPT_PORT, - OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_STATS, OPT_PARTIAL, OPT_PROGRESS, - OPT_COPY_UNSAFE_LINKS, OPT_SAFE_LINKS, OPT_COMPARE_DEST, OPT_LINK_DEST, - OPT_LOG_FORMAT, OPT_PASSWORD_FILE, OPT_SIZE_ONLY, OPT_ADDRESS, - OPT_DELETE_AFTER, OPT_EXISTING, OPT_MAX_DELETE, OPT_BACKUP_DIR, - OPT_IGNORE_ERRORS, OPT_BWLIMIT, - OPT_MODIFY_WINDOW, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_IGNORE_EXISTING}; +enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM, + OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED, OPT_LINK_DEST, + OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, + OPT_READ_BATCH, OPT_WRITE_BATCH}; static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ @@ -646,6 +641,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) exit_cleanup(RERR_SYNTAX); } + if (do_progress && !verbose) + verbose = 1; + *argv = poptGetArgs(pc); if (*argv) *argc = count_args(*argv); @@ -826,8 +824,12 @@ void server_options(char **args,int *argc) /* Only send --suffix if it specifies a non-default value. */ if (strcmp(backup_suffix, backup_dir? "" : BACKUP_SUFFIX) != 0) { - args[ac++] = "--suffix"; - args[ac++] = backup_suffix; + char *s = malloc(9+backup_suffix_len+1); + if (!s) + out_of_memory("server_options"); + /* We use the following syntax to avoid weirdness with '~'. */ + sprintf(s, "--suffix=%s", backup_suffix); + args[ac++] = s; } if (delete_mode && !delete_excluded)