Implement --version. Fixes: #973
authorPhil Pennock <pdp@exim.org>
Sun, 6 Jun 2010 02:08:50 +0000 (02:08 +0000)
committerPhil Pennock <pdp@exim.org>
Sun, 6 Jun 2010 02:08:50 +0000 (02:08 +0000)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
doc/doc-txt/OptionLists.txt
src/src/exim.c

index 7237cc3dfd6b53414bf6f8df0ac1c6b87d549c14..7a9698e57428fd7d0360d183116de32edffb8b09 100644 (file)
@@ -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
 .
 . /////////////////////////////////////////////////////////////////////////////
 . 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.
 
 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"
 .vitem &%-B%&<&'type'&>
 .oindex "&%-B%&"
 .cindex "8-bit characters"
index 248e5752383f14711346c6235f3ec26c71d9081a..85edf47d1041f4d0a6bde47508379d4f4dff9a0e 100644 (file)
@@ -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
 -------------------------------------------
 
 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/11 Bugzilla 922: Documentation dusting, patch provided by John Horne.
 
+PP/12 Bugzilla 973: Implement --version.
+
 
 Exim version 4.72
 -----------------
 
 Exim version 4.72
 -----------------
index a99eb12354c4055269212d957a6fe743420b063b..89d86063e5a40d197933a572ae93731ecae7d6cf 100644 (file)
@@ -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
 ---------------------
 
 LISTS OF EXIM OPTIONS
 ---------------------
@@ -600,6 +600,7 @@ provide compatibility with Sendmail.
 
 --               Terminate options
 --help           Give a little help (not a lot)
 
 --               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
 -B             * Ignored
 -bd            + Start daemon
 -bdf           + Start daemon and run it in the foreground
index 7d1c3b6a6a02fbfeba68d306fcbe0ed36f4914db..36f7a1b3d648b3d67acc5f3ae96d623baa5c4bb0 100644 (file)
@@ -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    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -685,8 +685,8 @@ else
 *          Show supported features               *
 *************************************************/
 
 *          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
 
 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);
 
 
 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. */
 /* 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++;
     }
 
     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)
   /* High-level switch on active initial letter */
 
   switch(switchchar)