summaryrefslogtreecommitdiffstats
path: root/apropos.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2011-12-12 02:00:49 +0000
committerIngo Schwarze <schwarze@openbsd.org>2011-12-12 02:00:49 +0000
commitc42838fef393e5adf1aa518e01ad6d6a81fdacac (patch)
tree4159f03b7d7c3896b82b9ac86577327883c89771 /apropos.c
parent21233e404785a217f2bc0d3060f79f76911b9e1e (diff)
downloadmandoc-c42838fef393e5adf1aa518e01ad6d6a81fdacac.tar.gz
implement -C (alternative config file) for apropos(1) and mandocdb(8),
including various tweaks to the whatis(8) manual; ok kristaps@
Diffstat (limited to 'apropos.c')
-rw-r--r--apropos.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/apropos.c b/apropos.c
index 4a5bbd0d..7ab4873e 100644
--- a/apropos.c
+++ b/apropos.c
@@ -44,6 +44,7 @@ main(int argc, char *argv[])
struct opts opts;
struct expr *e;
char *defpaths, *auxpaths;
+ char *conf_file;
extern int optind;
extern char *optarg;
@@ -59,10 +60,14 @@ main(int argc, char *argv[])
memset(&opts, 0, sizeof(struct opts));
auxpaths = defpaths = NULL;
+ conf_file = NULL;
e = NULL;
- while (-1 != (ch = getopt(argc, argv, "M:m:S:s:")))
+ while (-1 != (ch = getopt(argc, argv, "C:M:m:S:s:")))
switch (ch) {
+ case ('C'):
+ conf_file = optarg;
+ break;
case ('M'):
defpaths = optarg;
break;
@@ -88,7 +93,7 @@ main(int argc, char *argv[])
rc = 0;
- manpath_parse(&paths, defpaths, auxpaths);
+ manpath_parse(&paths, conf_file, defpaths, auxpaths);
e = whatis ? termcomp(argc, argv, &terms) :
exprcomp(argc, argv, &terms);
@@ -142,10 +147,11 @@ usage(void)
{
fprintf(stderr, "usage: %s "
+ "[-C file] "
"[-M manpath] "
"[-m manpath] "
"[-S arch] "
"[-s section] "
- "expression...\n",
+ "expression ...\n",
progname);
}