X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b3e4e7ef2ea3744d80f3fa80335cce307059f86e..b64ee91a4138babc77ea06bb48bdad327a8b99b3:/options.c?ds=sidebyside diff --git a/options.c b/options.c index 5df166cc..f5b56391 100644 --- a/options.c +++ b/options.c @@ -252,7 +252,8 @@ static void print_rsync_version(enum logcode f) (int) SIZEOF_INT64, (int) sizeof (int64)); } - rprintf(f,"\nrsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you\n"); + rprintf(f,"\n"); + rprintf(f,"rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you\n"); rprintf(f,"are welcome to redistribute it under certain conditions. See the GNU\n"); rprintf(f,"General Public Licence for details.\n"); } @@ -262,10 +263,12 @@ void usage(enum logcode F) { print_rsync_version(F); - rprintf(F,"\nrsync is a file transfer program capable of efficient remote update\n"); + rprintf(F,"\n"); + rprintf(F,"rsync is a file transfer program capable of efficient remote update\n"); rprintf(F,"via a fast differencing algorithm.\n"); - rprintf(F,"\nUsage: rsync [OPTION]... SRC [SRC]... DEST\n"); + rprintf(F,"\n"); + rprintf(F,"Usage: rsync [OPTION]... SRC [SRC]... DEST\n"); rprintf(F," or rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST\n"); rprintf(F," or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST\n"); rprintf(F," or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST\n"); @@ -274,7 +277,8 @@ void usage(enum logcode F) rprintf(F," or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]\n"); rprintf(F,"The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect\n"); rprintf(F,"to an rsync daemon, and require SRC or DEST to start with a module name.\n"); - rprintf(F,"\nOptions\n"); + rprintf(F,"\n"); + rprintf(F,"Options\n"); rprintf(F," -v, --verbose increase verbosity\n"); rprintf(F," -q, --quiet suppress non-error messages\n"); rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n"); @@ -382,7 +386,8 @@ void usage(enum logcode F) rprintf(F," --version print version number\n"); rprintf(F,"(-h) --help show this help (-h works with no other options)\n"); - rprintf(F,"\nUse \"rsync --daemon --help\" to see the daemon-mode command-line options.\n"); + rprintf(F,"\n"); + rprintf(F,"Use \"rsync --daemon --help\" to see the daemon-mode command-line options.\n"); rprintf(F,"Please see the rsync(1) and rsyncd.conf(5) man pages for full documentation.\n"); rprintf(F,"See http://rsync.samba.org/ for updates, bug reports, and answers\n"); } @@ -547,13 +552,15 @@ static void daemon_usage(enum logcode F) { print_rsync_version(F); - rprintf(F,"\nUsage: rsync --daemon [OPTION]...\n"); + rprintf(F,"\n"); + rprintf(F,"Usage: rsync --daemon [OPTION]...\n"); rprintf(F," --address=ADDRESS bind to the specified address\n"); rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n"); rprintf(F," --config=FILE specify alternate rsyncd.conf file\n"); rprintf(F," --no-detach do not detach from the parent\n"); rprintf(F," --port=PORT listen on alternate port number\n"); rprintf(F," --log-file=FILE override the \"log file\" setting\n"); + rprintf(F," --log-file-format=FMT override the \"log format\" setting\n"); rprintf(F," --sockopts=OPTIONS specify custom TCP options\n"); rprintf(F," -v, --verbose increase verbosity\n"); #ifdef INET6 @@ -562,7 +569,8 @@ static void daemon_usage(enum logcode F) #endif rprintf(F," --help show this help screen\n"); - rprintf(F,"\nIf you were not trying to invoke rsync as a daemon, avoid using any of the\n"); + rprintf(F,"\n"); + rprintf(F,"If you were not trying to invoke rsync as a daemon, avoid using any of the\n"); rprintf(F,"daemon-specific rsync options. See also the rsyncd.conf(5) man page.\n"); } @@ -578,6 +586,7 @@ static struct poptOption long_daemon_options[] = { #endif {"detach", 0, POPT_ARG_VAL, &no_detach, 0, 0, 0 }, {"log-file", 0, POPT_ARG_STRING, &logfile_name, 0, 0, 0 }, + {"log-file-format", 0, POPT_ARG_STRING, &logfile_format, 0, 0, 0 }, {"no-detach", 0, POPT_ARG_VAL, &no_detach, 1, 0, 0 }, {"port", 0, POPT_ARG_INT, &rsync_port, 0, 0, 0 }, {"sockopts", 0, POPT_ARG_STRING, &sockopts, 0, 0, 0 }, @@ -678,17 +687,6 @@ static void set_refuse_options(char *bp) *cp = ' '; bp = cp + 1; } - - for (op = long_options; ; op++) { - *shortname = op->shortName; - if (!op->longName && !*shortname) - break; - if (op->val == OPT_DAEMON) { - if (op->argInfo == POPT_ARG_VAL) - op->argInfo = POPT_ARG_NONE; - op->val = (op - long_options) + OPT_REFUSED_BASE; - } - } } @@ -793,6 +791,8 @@ int parse_arguments(int *argc, const char ***argv, int frommain) if (ref && *ref) set_refuse_options(ref); + if (am_daemon) + set_refuse_options("log-file*"); /* TODO: Call poptReadDefaultConfig; handle errors. */ @@ -1317,20 +1317,19 @@ int parse_arguments(int *argc, const char ***argv, int frommain) if (stdout_format_has_i || log_format_has(stdout_format, 'o')) stdout_format_has_o_or_i = 1; - if (am_daemon) - logfile_name = NULL; - else if (logfile_name) { + if (logfile_name && !am_daemon) { if (!logfile_format) { - logfile_format = "%i %n%L (!)"; + logfile_format = "%i %n%L"; logfile_format_has_i = logfile_format_has_o_or_i = 1; } else { if (log_format_has(logfile_format, 'i')) - stdout_format_has_i = 2; + logfile_format_has_i = 1; if (logfile_format_has_i || log_format_has(logfile_format, 'o')) logfile_format_has_o_or_i = 1; } log_init(); - } + } else if (!am_daemon) + logfile_format = NULL; if (daemon_bwlimit && (!bwlimit || bwlimit > daemon_bwlimit)) bwlimit = daemon_bwlimit;