X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/8b54f004668e0f04d33f609ba3160d58d31d7efd..fcb69e5cdcfdfd0bdcea2127e5f4c9133a2282b9:/options.c diff --git a/options.c b/options.c index b42f545b..a928316b 100644 --- a/options.c +++ b/options.c @@ -88,6 +88,7 @@ int modify_window=0; #endif int blocking_io=-1; + /** Network address family. **/ #ifdef INET6 int default_af_hint = 0; /* Any protocol */ @@ -159,20 +160,28 @@ static void print_rsync_version(enum logcode f) "Copyright (C) 1996-2002 by Andrew Tridgell and others\n"); rprintf(f, "\n"); rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, " - "%shard links, %ssymlinks, batchfiles, %sIPv6,\n", + "%shard links, %ssymlinks, batchfiles, \n", (int) (sizeof(OFF_T) * 8), - got_socketpair, hardlinks, links, ipv6); + got_socketpair, hardlinks, links); /* Note that this field may not have type ino_t. It depends * on the complicated interaction between largefile feature * macros. */ - rprintf(f, " %d-bit system inums, %d-bit internal inums\n", + rprintf(f, " %sIPv6, %d-bit system inums, %d-bit internal inums\n", + ipv6, (int) (sizeof(dumstat->st_ino) * 8), (int) (sizeof(INO64_T) * 8)); #ifdef NO_INT64 rprintf(f, "WARNING: no 64-bit integers on this platform!\n"); #endif + + rprintf(f, +"\n" +"rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you\n" +"are welcome to redistribute it under certain conditions. See the GNU\n" +"General Public Licence for details.\n" + ); } @@ -180,7 +189,7 @@ void usage(enum logcode F) { print_rsync_version(F); - rprintf(F,"rsync is a file transfer program capable of efficient remote update\nvia a fast differencing algorithm.\n\n"); + rprintf(F,"\nrsync is a file transfer program capable of efficient remote update\nvia a fast differencing algorithm.\n\n"); rprintf(F,"Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST\n"); rprintf(F," or rsync [OPTION]... [USER@]HOST:SRC DEST\n"); @@ -278,7 +287,7 @@ enum {OPT_VERSION = 1000, OPT_SUFFIX, OPT_SENDER, OPT_SERVER, OPT_EXCLUDE, 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_BLOCKING_IO, - OPT_NO_BLOCKING_IO, OPT_NO_WHOLE_FILE, + OPT_NO_BLOCKING_IO, OPT_WHOLE_FILE, OPT_NO_WHOLE_FILE, OPT_MODIFY_WINDOW, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_IGNORE_EXISTING}; static struct poptOption long_options[] = { @@ -311,8 +320,8 @@ static struct poptOption long_options[] = { {"update", 'u', POPT_ARG_NONE, &update_only , 0, 0, 0 }, {"links", 'l', POPT_ARG_NONE, &preserve_links , 0, 0, 0 }, {"copy-links", 'L', POPT_ARG_NONE, ©_links , 0, 0, 0 }, - {"whole-file", 'W', POPT_ARG_NONE, &whole_file , 0, 0, 0 }, - {"no-whole-file", 0, POPT_ARG_NONE, &no_whole_file , 0, 0, 0 }, + {"whole-file", 'W', POPT_ARG_NONE, 0, OPT_WHOLE_FILE, 0, 0 }, + {"no-whole-file", 0, POPT_ARG_NONE, 0, OPT_NO_WHOLE_FILE, 0, 0 }, {"copy-unsafe-links", 0, POPT_ARG_NONE, ©_unsafe_links , 0, 0, 0 }, {"perms", 'p', POPT_ARG_NONE, &preserve_perms , 0, 0, 0 }, {"owner", 'o', POPT_ARG_NONE, &preserve_uid , 0, 0, 0 }, @@ -476,6 +485,16 @@ int parse_arguments(int *argc, const char ***argv, int frommain) add_exclude_file(poptGetOptArg(pc), 1, 1); break; + case OPT_WHOLE_FILE: + whole_file = 1; + no_whole_file = 0; + break; + + case OPT_NO_WHOLE_FILE: + no_whole_file = 1; + whole_file = 0; + break; + case OPT_NO_BLOCKING_IO: blocking_io = 0; break;