=================================================================== RCS file: /cvs/mandoc/mandocdb.c,v retrieving revision 1.197 retrieving revision 1.199 diff -u -p -r1.197 -r1.199 --- mandoc/mandocdb.c 2015/10/06 18:32:19 1.197 +++ mandoc/mandocdb.c 2015/10/12 00:08:15 1.199 @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.197 2015/10/06 18:32:19 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.199 2015/10/12 00:08:15 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011-2015 Ingo Schwarze @@ -23,6 +23,7 @@ #include #include +#include #include #include #if HAVE_FTS @@ -189,8 +190,9 @@ static int set_basedir(const char *, int); static int treescan(void); static size_t utf8(unsigned int, char [7]); +extern char *__progname; + static char tempfilename[32]; -static char *progname; static int nodb; /* no database changes */ static int mparse_options; /* abort the parse early */ static int use_all; /* use all found files */ @@ -357,12 +359,6 @@ mandocdb(int argc, char *argv[]) mpages_info.key_offset = offsetof(struct mpage, inodev); mlinks_info.key_offset = offsetof(struct mlink, file); - progname = strrchr(argv[0], '/'); - if (progname == NULL) - progname = argv[0]; - else - ++progname; - /* * We accept a few different invocations. * The CHECKOP macro makes sure that invocation styles don't @@ -370,8 +366,7 @@ mandocdb(int argc, char *argv[]) */ #define CHECKOP(_op, _ch) do \ if (OP_DEFAULT != (_op)) { \ - fprintf(stderr, "%s: -%c: Conflicting option\n", \ - progname, (_ch)); \ + warnx("-%c: Conflicting option", (_ch)); \ goto usage; \ } while (/*CONSTCOND*/0) @@ -407,9 +402,8 @@ mandocdb(int argc, char *argv[]) break; case 'T': if (strcmp(optarg, "utf8")) { - fprintf(stderr, "%s: -T%s: " - "Unsupported output format\n", - progname, optarg); + warnx("-T%s: Unsupported output format", + optarg); goto usage; } write_utf8 = 1; @@ -436,8 +430,7 @@ mandocdb(int argc, char *argv[]) argv += optind; if (OP_CONFFILE == op && argc > 0) { - fprintf(stderr, "%s: -C: Too many arguments\n", - progname); + warnx("-C: Too many arguments"); goto usage; } @@ -554,8 +547,8 @@ usage: " %s [-DnpQ] [-Tutf8] -d dir [file ...]\n" " %s [-Dnp] -u dir [file ...]\n" " %s [-Q] -t file ...\n", - progname, progname, progname, - progname, progname); + __progname, __progname, __progname, + __progname, __progname); return (int)MANDOCLEVEL_BADARG; } @@ -700,7 +693,6 @@ treescan(void) continue; case FTS_D: - /* FALLTHROUGH */ case FTS_DP: break; @@ -1570,13 +1562,9 @@ parse_mdoc(struct mpage *mpage, const struct roff_meta for (n = n->child; NULL != n; n = n->next) { switch (n->type) { case ROFFT_ELEM: - /* FALLTHROUGH */ case ROFFT_BLOCK: - /* FALLTHROUGH */ case ROFFT_HEAD: - /* FALLTHROUGH */ case ROFFT_BODY: - /* FALLTHROUGH */ case ROFFT_TAIL: if (NULL != mdocs[n->tok].fp) if (0 == (*mdocs[n->tok].fp)(mpage, meta, n)) @@ -1929,7 +1917,6 @@ render_string(char **public, size_t *psz) case '\\': break; case '\t': - /* FALLTHROUGH */ case ASCII_NBRSP: dst[dsz++] = ' '; scp++;