diff --git a/bin/expr/expr.y b/bin/expr/expr.y index 0bcd6e0..05564a7 100644 --- a/bin/expr/expr.y +++ b/bin/expr/expr.y @@ -18,6 +18,7 @@ #include #include #include +#include enum valtype { integer, numeric_string, string @@ -244,12 +245,31 @@ is_zero_or_null(struct val *vp) /* NOTREACHED */ } +static void +usage(void) +{ + fprintf(stderr, + "usage: expr \n"); + exit(EXIT_FAILURE); +} + int -main (int argc __unused, char **argv) +main (int argc, char **argv) { + int ch; setlocale (LC_ALL, ""); - av = argv + 1; + while ((ch = getopt(argc, argv, "-")) != -1) { + switch (ch) { + default: + usage(); + /* NOTREACED */ + } + } + argc -= optind; + argv += optind; + + av = argv; yyparse ();