=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.287 retrieving revision 1.290 diff -u -p -r1.287 -r1.290 --- mandoc/main.c 2017/03/27 18:51:36 1.287 +++ mandoc/main.c 2017/05/16 19:06:30 1.290 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.287 2017/03/27 18:51:36 schwarze Exp $ */ +/* $Id: main.c,v 1.290 2017/05/16 19:06:30 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze @@ -56,7 +56,6 @@ enum outmode { OUTMODE_FLN, OUTMODE_LST, OUTMODE_ALL, - OUTMODE_INT, OUTMODE_ONE }; @@ -194,8 +193,12 @@ main(int argc, char *argv[]) show_usage = 0; outmode = OUTMODE_DEF; - while (-1 != (c = getopt(argc, argv, - "aC:cfhI:iK:klM:m:O:S:s:T:VW:w"))) { + while ((c = getopt(argc, argv, + "aC:cfhI:iK:klM:m:O:S:s:T:VW:w")) != -1) { + if (c == 'i' && search.argmode == ARG_EXPR) { + optind--; + break; + } switch (c) { case 'a': outmode = OUTMODE_ALL; @@ -225,9 +228,6 @@ main(int argc, char *argv[]) } defos = mandoc_strdup(optarg + 3); break; - case 'i': - outmode = OUTMODE_INT; - break; case 'K': if ( ! koptions(&options, optarg)) return (int)MANDOCLEVEL_BADARG; @@ -968,15 +968,16 @@ static int woptions(struct curparse *curp, char *arg) { char *v, *o; - const char *toks[7]; + const char *toks[8]; toks[0] = "stop"; toks[1] = "all"; - toks[2] = "warning"; - toks[3] = "error"; - toks[4] = "unsupp"; - toks[5] = "fatal"; - toks[6] = NULL; + toks[2] = "style"; + toks[3] = "warning"; + toks[4] = "error"; + toks[5] = "unsupp"; + toks[6] = "fatal"; + toks[7] = NULL; while (*arg) { o = arg; @@ -986,15 +987,18 @@ woptions(struct curparse *curp, char *arg) break; case 1: case 2: - curp->wlevel = MANDOCLEVEL_WARNING; + curp->wlevel = MANDOCLEVEL_STYLE; break; case 3: - curp->wlevel = MANDOCLEVEL_ERROR; + curp->wlevel = MANDOCLEVEL_WARNING; break; case 4: - curp->wlevel = MANDOCLEVEL_UNSUPP; + curp->wlevel = MANDOCLEVEL_ERROR; break; case 5: + curp->wlevel = MANDOCLEVEL_UNSUPP; + break; + case 6: curp->wlevel = MANDOCLEVEL_BADARG; break; default: @@ -1002,7 +1006,6 @@ woptions(struct curparse *curp, char *arg) return 0; } } - return 1; }