]> granicus.if.org Git - graphviz/commitdiff
Fix bug 2305.
authorEmden R. Gansner <erg@research.att.com>
Fri, 12 Jul 2013 16:57:00 +0000 (12:57 -0400)
committerEmden R. Gansner <erg@research.att.com>
Fri, 12 Jul 2013 16:57:00 +0000 (12:57 -0400)
cmd/lefty/lefty.1
cmd/lefty/lefty.c

index 2427c64a3b3a63785cc0f6b16c406bb755a67008..e4079f73a798cc14bab670edb5cb6da69365b079 100644 (file)
@@ -115,6 +115,9 @@ call. The default file name is
 .TP
 .B -V
 Prints the version.
+.TP
+.B -?
+Prints the usage and exits.
 .SH SEE ALSO
 .I lefty
 user guide.
index 03a19e22c4afb5d8f0ce49c68cab4ae1213e4817..21b6129326069d6eb1e02052ded1ebe53f28fcf1 100644 (file)
@@ -393,6 +393,25 @@ static int processinput (int waitflag) {
     return rtn;
 }
 
+static char* usestr =
+"    -x    - exit after processing the input file.\n\
+    -e E  - parse and execute expression E.\n\
+    -el N - set error reporting level. (0)\n\
+    -sd N - how much of the stack to show if error is printed. (2)\n\
+    -sb N - how much of each function in the stack show if error is printed. (2)\n\
+    -df S - set default font.\n\
+    -ps F - specify a default file name for postscript files.\n\
+    -     - read input from stdin.\n\
+    -?    - show help.\n\
+    -V    - print version.\n";
+
+static void usage(int eval)
+{
+    fprintf (stderr, "Usage: lefty [options] [file]\n");
+    fputs (usestr, stderr);
+    exit (eval);
+}
+
 static void processstr (char *buf) {
     char *words[100];
     char *s, *s1;
@@ -441,11 +460,18 @@ static void processargs (int argc, char *argv[]) {
             fprintf (stderr, "lefty version %s\n", LEFTYVERSION);
             fprintf (stderr, "graphviz version %s (%s)\n", VERSION, BUILDDATE);
        }
+        else if (strcmp (argv[0], "-?") == 0)
+            usage(0);
         else if (strcmp (argv[0], "-") == 0)
             fp = stdin;
+        else if (argv[0][0] == '-') {
+            fprintf (stderr, "option %s unrecognized - ignored\n", argv[0]);
+        }
         else {
-            if ((fp = fopen (argv[0], "r")) == NULL)
-                panic1 (POS, "main", "cannot open input file: %s", argv[0]);
+            if ((fp = fopen (argv[0], "r")) == NULL) {
+                fprintf (stderr, "cannot open input file: %s\n", argv[0]);
+                exit(2);
+            }
         }
         argv++, argc--;
     }