Formerly main.c.~54~
authorRoland McGrath <roland@redhat.com>
Fri, 24 Jul 1992 06:02:26 +0000 (06:02 +0000)
committerRoland McGrath <roland@redhat.com>
Fri, 24 Jul 1992 06:02:26 +0000 (06:02 +0000)
main.c

diff --git a/main.c b/main.c
index ab4aab7..ad79453 100644 (file)
--- a/main.c
+++ b/main.c
@@ -91,7 +91,8 @@ struct command_switch
        string,                 /* One string per switch.  */
        positive_int,           /* A positive integer.  */
        floating,               /* A floating-point number (double).  */
-       ignore                  /* Ignored.  */
+       ignore,                 /* Ignored.  */
+       usage_and_exit          /* Ignored; exit after processing switches.  */
       } type;
 
     char *value_ptr;   /* Pointer to the value-holding variable.  */
@@ -234,6 +235,10 @@ static struct command_switch switches[] =
     { 'f', string, (char *) &makefiles, 0, 0, 0, 0, 0,
        "file", "FILE",
        "Read FILE as a makefile" },
+    { 'h', usage_and_exit, 
+       0, 0, 0, 0, 0, 0,
+       "help", 0,
+       "Print this message and exit." },
     { 'i', flag, (char *) &ignore_errors_flag, 1, 1, 0, 0, 0,
        "ignore-errors", 0,
        "Ignore errors from commands" },
@@ -1095,6 +1100,10 @@ decode_switches (argc, argv)
                case ignore:
                  break;
 
+               case usage_and_exit:
+                 bad = 1;
+                 break;
+
                case flag:
                case flag_off:
                  *(int *) cs->value_ptr = cs->type == flag;