X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3e89da86dfb4a37aa00dcb55a1c9af46cff4b80f..a0c823b22b81d5ecb01058e4a14186f6252f959e:/options.c diff --git a/options.c b/options.c index 1ee4ee75..b14ef1c8 100644 --- a/options.c +++ b/options.c @@ -23,7 +23,7 @@ extern int sanitize_paths; extern char curr_dir[MAXPATHLEN]; -extern struct exclude_struct **exclude_list; +extern struct exclude_list_struct exclude_list; int make_backups = 0; @@ -183,7 +183,7 @@ static void print_rsync_version(enum logcode f) rprintf(f, " %sIPv6, %d-bit system inums, %d-bit internal inums\n", ipv6, (int) (sizeof dumstat->st_ino * 8), - (int) (sizeof (INO64_T) * 8)); + (int) (sizeof (uint64) * 8)); #ifdef MAINTAINER_MODE rprintf(f, " panic action: \"%s\"\n", get_panic_action()); @@ -510,13 +510,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain) break; case OPT_EXCLUDE: - add_exclude(&exclude_list, poptGetOptArg(pc), - ADD_EXCLUDE); + add_exclude(&exclude_list, poptGetOptArg(pc), 0); break; case OPT_INCLUDE: add_exclude(&exclude_list, poptGetOptArg(pc), - ADD_INCLUDE); + XFLG_DEF_INCLUDE); break; case OPT_EXCLUDE_FROM: @@ -524,7 +523,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) if (sanitize_paths) arg = alloc_sanitize_path(arg, curr_dir); add_exclude_file(&exclude_list, arg, - MISSING_FATAL, ADD_EXCLUDE); + XFLG_FATAL_ERRORS); break; case OPT_INCLUDE_FROM: @@ -532,7 +531,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) if (sanitize_paths) arg = alloc_sanitize_path(arg, curr_dir); add_exclude_file(&exclude_list, arg, - MISSING_FATAL, ADD_INCLUDE); + XFLG_FATAL_ERRORS | XFLG_DEF_INCLUDE); break; case 'h': @@ -688,6 +687,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain) files_from = alloc_sanitize_path(files_from, curr_dir); } + if (daemon_opt) { + daemon_opt = 0; + am_daemon = 1; + return 1; + } + if (!backup_suffix) backup_suffix = backup_dir ? "" : BACKUP_SUFFIX; backup_suffix_len = strlen(backup_suffix); @@ -707,9 +712,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) backup_dir_buf[backup_dir_len++] = '/'; backup_dir_buf[backup_dir_len] = '\0'; } - if (verbose > 1) + if (verbose > 1 && !am_sender) rprintf(FINFO, "backup_dir is %s\n", backup_dir_buf); - } else if (!backup_suffix_len) { + } else if (!backup_suffix_len && (!am_server || !am_sender)) { rprintf(FERROR, "--suffix cannot be a null string without --backup-dir\n"); exit_cleanup(RERR_SYNTAX); @@ -750,9 +755,6 @@ int parse_arguments(int *argc, const char ***argv, int frommain) } } - if (daemon_opt) - am_daemon = 1; - return 1; }