Special case -u, since it's documented as printing the usage message
(sort of like an ancient --help), so shouldn't be called unrecognized.

Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
---
 iceauth.c |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/iceauth.c b/iceauth.c
index c1688c0..dfd1269 100644
--- a/iceauth.c
+++ b/iceauth.c
@@ -53,7 +53,7 @@ static const char *defsource = "(stdin)";
  * utility routines
  */
 static void _X_NORETURN
-usage (void)
+usage (int exitcode)
 {
     static const char prefixmsg[] = 
 "\n"
@@ -75,7 +75,7 @@ usage (void)
     fprintf (stderr, "%s", prefixmsg);
     print_help (stderr, NULL);
     fprintf (stderr, "\n%s\n", suffixmsg);
-    exit (1);
+    exit (exitcode);
 }
 
 
@@ -102,7 +102,11 @@ main (int argc, char *argv[])
            for (flag = (arg + 1); *flag; flag++) {
                switch (*flag) {
                  case 'f':             /* -f authfilename */
-                   if (++i >= argc) usage ();
+                   if (++i >= argc) {
+                       fprintf(stderr, "%s: -f requires an argument\n",
+                               ProgramName);
+                       usage (1);
+                   }
                    authfilename = argv[i];
                    continue;
                  case 'V':             /* -V */
@@ -120,8 +124,12 @@ main (int argc, char *argv[])
                  case 'i':             /* -i */
                    ignore_locks = True;
                    continue;
+                 case 'u':             /* -u */
+                   usage (0);
                  default:
-                   usage ();
+                   fprintf(stderr, "%s: unrecognized option '%s'\n",
+                           ProgramName, flag);
+                   usage (1);
                }
            }
        } else {
-- 
1.7.9.2

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to