From 4b2241d2228351057f63f954de46b0449288e3ba Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 6 Jun 2010 02:08:50 +0000 Subject: [PATCH] Implement --version. Fixes: #973 --- doc/doc-docbook/spec.xfpt | 7 ++++++- doc/doc-txt/ChangeLog | 4 +++- doc/doc-txt/OptionLists.txt | 3 ++- src/src/exim.c | 31 ++++++++++++++++++------------- 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 7237cc3df..7a9698e57 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -1,4 +1,4 @@ -. $Cambridge: exim/doc/doc-docbook/spec.xfpt,v 1.81 2010/06/06 01:35:41 pdp Exp $ +. $Cambridge: exim/doc/doc-docbook/spec.xfpt,v 1.82 2010/06/06 02:08:50 pdp Exp $ . . ///////////////////////////////////////////////////////////////////////////// . This is the primary source of the Exim Manual. It is an xfpt document that is @@ -2604,6 +2604,11 @@ This option causes Exim to output a few sentences stating what it is. The same output is generated if the Exim binary is called with no options and no arguments. +.vitem &%--version%& +.oindex "&%--version%&" +This option is an alias for &%-bV%& and causes version information to be +displayed. + .vitem &%-B%&<&'type'&> .oindex "&%-B%&" .cindex "8-bit characters" diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 248e57523..85edf47d1 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.624 2010/06/06 01:35:41 pdp Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.625 2010/06/06 02:08:50 pdp Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -38,6 +38,8 @@ PP/10 Bugzilla 937: provide a "debug" ACL control. PP/11 Bugzilla 922: Documentation dusting, patch provided by John Horne. +PP/12 Bugzilla 973: Implement --version. + Exim version 4.72 ----------------- diff --git a/doc/doc-txt/OptionLists.txt b/doc/doc-txt/OptionLists.txt index a99eb1235..89d86063e 100644 --- a/doc/doc-txt/OptionLists.txt +++ b/doc/doc-txt/OptionLists.txt @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/OptionLists.txt,v 1.36 2010/06/05 21:42:53 pdp Exp $ +$Cambridge: exim/doc/doc-txt/OptionLists.txt,v 1.37 2010/06/06 02:08:50 pdp Exp $ LISTS OF EXIM OPTIONS --------------------- @@ -600,6 +600,7 @@ provide compatibility with Sendmail. -- Terminate options --help Give a little help (not a lot) +--version Give version information (alias for -bV) -B * Ignored -bd + Start daemon -bdf + Start daemon and run it in the foreground diff --git a/src/src/exim.c b/src/src/exim.c index 7d1c3b6a6..36f7a1b3d 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/exim.c,v 1.67 2010/06/06 00:27:52 pdp Exp $ */ +/* $Cambridge: exim/src/src/exim.c,v 1.68 2010/06/06 02:08:50 pdp Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -685,8 +685,8 @@ else * Show supported features * *************************************************/ -/* This function is called for -bV and for -d to output the optional features -of the current Exim binary. +/* This function is called for -bV/--version and for -d to output the optional +features of the current Exim binary. Arguments: a FILE for printing Returns: nothing @@ -1489,16 +1489,6 @@ running in an unprivileged state. */ unprivileged = (real_uid != root_uid && original_euid != root_uid); -/* If the first argument is --help, set usage_wanted and pretend there -are no arguments. This will cause a brief message to be given. We do -the message generation downstream so we can pick up how we were invoked */ - -if (argc > 1 && Ustrcmp(argv[1], "--help") == 0) - { - argc = 1; - usage_wanted = TRUE; - } - /* Scan the program's arguments. Some can be dealt with right away; others are simply recorded for checking and handling afterwards. Do a high-level switch on the second character (the one after '-'), to save some effort. */ @@ -1563,6 +1553,21 @@ for (i = 1; i < argc; i++) argrest++; } + /* deal with --option_aliases */ + else if (switchchar == '-') + { + if (Ustrcmp(argrest, "help") == 0) + { + usage_wanted = TRUE; + break; + } + else if (Ustrcmp(argrest, "version") == 0) + { + switchchar = 'b'; + argrest = "V"; + } + } + /* High-level switch on active initial letter */ switch(switchchar) -- 2.30.2