X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6902ed178ba54c8e1c410519f7ee576ddb42554c..a24e12e6dd814f7da77d121fcedf862f05f061f5:/options.c diff --git a/options.c b/options.c index bfce8f68..7c33efad 100644 --- a/options.c +++ b/options.c @@ -52,7 +52,7 @@ int io_error = 0; int read_only = 0; int module_id = -1; int am_server = 0; -int am_sender=0; +int am_sender = 0; int recurse = 0; int am_daemon=0; int do_stats=0; @@ -122,10 +122,11 @@ static void print_rsync_version(int f) rprintf(f, "%s version %s protocol version %d\n", RSYNC_NAME, VERSION, PROTOCOL_VERSION); rprintf(f, - "Copyright (C) 1996-2001 by Andrew Tridgell, Paul Mackerras and others\n"); + "Copyright (C) 1996-2001 by Andrew Tridgell and others\n"); + rprintf(f, "\n"); rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, " - "%shard links, %ssymlinks\n\n", - sizeof(int64) * 8, + "%shard links, %ssymlinks, batchfiles\n\n", + (int) (sizeof(OFF_T) * 8), got_socketpair, hardlinks, links); @@ -211,7 +212,7 @@ void usage(enum logcode F) rprintf(F," --log-format=FORMAT log file transfers using specified format\n"); rprintf(F," --password-file=FILE get password from FILE\n"); rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n"); - rprintf(F," -f --read-batch=FILE read batch file\n"); + rprintf(F," -f --read-batch=EXT read batch file\n"); rprintf(F," -F --write-batch write batch file\n"); rprintf(F," -h, --help show this help screen\n"); @@ -273,14 +274,14 @@ static struct poptOption long_options[] = { {"archive", 'a', POPT_ARG_NONE, 0, 'a'}, {"server", 0, POPT_ARG_NONE, &am_server}, {"sender", 0, POPT_ARG_NONE, 0, OPT_SENDER}, - {"recurse", 'r', POPT_ARG_NONE, &recurse}, + {"recursive", 'r', POPT_ARG_NONE, &recurse}, {"relative", 'R', POPT_ARG_NONE, &relative_paths}, {"rsh", 'e', POPT_ARG_STRING, &shell_cmd}, {"block-size", 'B', POPT_ARG_INT, &block_size}, {"max-delete", 0, POPT_ARG_INT, &max_delete}, {"timeout", 0, POPT_ARG_INT, &io_timeout}, {"temp-dir", 'T', POPT_ARG_STRING, &tmpdir}, - {"compare-dest", 0, POPT_ARG_NONE, &compare_dest}, + {"compare-dest", 0, POPT_ARG_STRING, &compare_dest}, /* TODO: Should this take an optional int giving the compression level? */ {"compress", 'z', POPT_ARG_NONE, &do_compression}, {"daemon", 0, POPT_ARG_NONE, &am_daemon}, @@ -305,14 +306,19 @@ static struct poptOption long_options[] = { static char err_buf[100]; +/* We store the option error message, if any, so that we can log the + connection attempt (which requires parsing the options), and then + show the error later on. */ void option_error(void) { if (err_buf[0]) { rprintf(FLOG, "%s", err_buf); rprintf(FERROR, "%s: %s", RSYNC_NAME, err_buf); } else { - rprintf(FLOG,"Error parsing options - unsupported option?\n"); - rprintf(FERROR,"Error parsing options - unsupported option?\n"); + rprintf (FERROR, "Error parsing options: " + "option may be supported on client but not on server?\n"); + rprintf (FERROR, RSYNC_NAME ": Error parsing options: " + "option may be supported on client but not on server?\n"); } } @@ -470,7 +476,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) case OPT_ADDRESS: { struct in_addr *ia; - if ((ia = ip_address(optarg))) { + if ((ia = ip_address (poptGetOptArg (pc)))) { socket_address = *ia; } }