diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-13 11:10:27 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-13 11:10:27 +0000 |
commit | 26a93b19ed081622643e47785d2ba7810a015efc (patch) | |
tree | c41300d6ea4daf7a1ac68e335f9bbe97bd276bf8 /apropos.c | |
parent | 58b2b9f4741e56383779973cc412ca087987b114 (diff) | |
download | mandoc-26a93b19ed081622643e47785d2ba7810a015efc.tar.gz mandoc-26a93b19ed081622643e47785d2ba7810a015efc.tar.zst mandoc-26a93b19ed081622643e47785d2ba7810a015efc.zip |
Rewrite the expression parser for a more concise syntax:
apropos [search_type[,...]=]substring
apropos search_type[,...][,i]~regex
... and expression evaluation must take the search type into account.
This allows to:
* drop the global -I option and
* drop the enum match, just using a boolean int.
"go ahead" kristaps@
Diffstat (limited to 'apropos.c')
-rw-r--r-- | apropos.c | 13 |
1 files changed, 4 insertions, 9 deletions
@@ -1,4 +1,4 @@ -/* $Id: apropos.c,v 1.11 2011/11/13 10:12:05 schwarze Exp $ */ +/* $Id: apropos.c,v 1.12 2011/11/13 11:10:27 schwarze Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -33,7 +33,7 @@ static char *progname; int main(int argc, char *argv[]) { - int ch, cs; + int ch; struct opts opts; struct expr *e; extern int optind; @@ -47,9 +47,7 @@ main(int argc, char *argv[]) else ++progname; - cs = 0; - - while (-1 != (ch = getopt(argc, argv, "S:s:I"))) + while (-1 != (ch = getopt(argc, argv, "S:s:"))) switch (ch) { case ('S'): opts.arch = optarg; @@ -57,9 +55,6 @@ main(int argc, char *argv[]) case ('s'): opts.cat = optarg; break; - case ('I'): - cs = 1; - break; default: usage(); return(EXIT_FAILURE); @@ -71,7 +66,7 @@ main(int argc, char *argv[]) if (0 == argc) return(EXIT_SUCCESS); - if (NULL == (e = exprcomp(cs, argv, argc))) { + if (NULL == (e = exprcomp(argc, argv))) { fprintf(stderr, "Bad expression\n"); return(EXIT_FAILURE); } |