=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.184 retrieving revision 1.185 diff -u -p -r1.184 -r1.185 --- mandoc/main.c 2014/08/22 04:52:55 1.184 +++ mandoc/main.c 2014/08/22 18:07:15 1.185 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.184 2014/08/22 04:52:55 schwarze Exp $ */ +/* $Id: main.c,v 1.185 2014/08/22 18:07:15 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -227,6 +228,8 @@ main(int argc, char *argv[]) if (show_usage) usage(search.argmode); + /* Postprocess options. */ + if (outmode == OUTMODE_DEF) { switch (search.argmode) { case ARG_FILE: @@ -242,11 +245,24 @@ main(int argc, char *argv[]) } } + /* Parse arguments. */ + argc -= optind; argv += optind; #if HAVE_SQLITE3 auxargv = NULL; #endif + + /* Quirk for a man(1) section argument without -s. */ + + if (search.argmode == ARG_NAME && + argv[0] != NULL && + isdigit((unsigned char)argv[0][0]) && + (argv[0][1] == '\0' || !strcmp(argv[0], "3p"))) { + search.sec = argv[0]; + argv++; + argc--; + } rc = MANDOCLEVEL_OK;