aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/apropos_db.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-11-29 10:53:42 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-11-29 10:53:42 +0000
commitec85a1922001c55c0451540123817260e1e0273b (patch)
tree16ea555314663347607f786ac053f824691c1cfa /apropos_db.c
parent47009d62dfb725cda5c2cbbbd459096214ec801a (diff)
downloadmandoc-ec85a1922001c55c0451540123817260e1e0273b.tar.gz
mandoc-ec85a1922001c55c0451540123817260e1e0273b.tar.zst
mandoc-ec85a1922001c55c0451540123817260e1e0273b.zip
Make `-i' only apply to regular expressions. For the equality operator
(and thus the default), always use strcasestr(). Discussed on tech@ with schwarze@. While here, fix the apropos.c usage() message to be consistent with apropos(1) and clean up the EXAMPLES in apropos(1).
Diffstat (limited to 'apropos_db.c')
-rw-r--r--apropos_db.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/apropos_db.c b/apropos_db.c
index b9dd0653..6c9c9408 100644
--- a/apropos_db.c
+++ b/apropos_db.c
@@ -1,4 +1,4 @@
-/* $Id: apropos_db.c,v 1.15 2011/11/28 09:44:05 schwarze Exp $ */
+/* $Id: apropos_db.c,v 1.16 2011/11/29 10:53:42 kristaps Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
@@ -52,7 +52,6 @@ struct expr {
int regex; /* is regex? */
int index; /* index in match array */
uint64_t mask; /* type-mask */
- int cs; /* is case-sensitive? */
int and; /* is rhs of logical AND? */
char *v; /* search value */
regex_t re; /* compiled re, if regex */
@@ -694,7 +693,6 @@ exprexpr(int argc, char *argv[], int *pos, int *lvl, size_t *tt)
++(*pos);
++(*lvl);
next = mandoc_calloc(1, sizeof(struct expr));
- next->cs = 1;
next->subexpr = exprexpr(argc, argv, pos, lvl, tt);
if (NULL == next->subexpr) {
free(next);
@@ -745,8 +743,6 @@ exprterm(char *buf, int cs)
memset(&e, 0, sizeof(struct expr));
- e.cs = cs;
-
/* Choose regex or substring match. */
if (NULL == (e.v = strpbrk(buf, "=~"))) {
@@ -818,13 +814,8 @@ exprmark(const struct expr *p, const char *cp,
if (p->regex) {
if (regexec(&p->re, cp, 0, NULL, 0))
continue;
- } else if (p->cs) {
- if (NULL == strstr(cp, p->v))
- continue;
- } else {
- if (NULL == strcasestr(cp, p->v))
- continue;
- }
+ } else if (NULL == strcasestr(cp, p->v))
+ continue;
if (NULL == ms)
return(1);