summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Pennock <pdp@exim.org>2010-06-06 02:08:50 +0000
committerPhil Pennock <pdp@exim.org>2010-06-06 02:08:50 +0000
commit4b2241d2228351057f63f954de46b0449288e3ba (patch)
tree7eb97c607ee76755d3e898f11f36f84c50ffb953
parent7d9f747b5ef80d2c1126f3aff933346360d2be79 (diff)
downloadexim4-4b2241d2228351057f63f954de46b0449288e3ba.tar.gz
Implement --version. Fixes: #973
-rw-r--r--doc/doc-docbook/spec.xfpt7
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--doc/doc-txt/OptionLists.txt3
-rw-r--r--src/src/exim.c31
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)