summaryrefslogtreecommitdiffstats
path: root/mansearch.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-11-22 12:01:46 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-11-22 12:01:46 +0000
commit1ac47583c44066590d7952c4e31d4b736ae27fca (patch)
tree23faf4a1830eca86e99dde5277bf6777312bb705 /mansearch.c
parent22da865402a78266a769c6c501dbecec806fc0d3 (diff)
downloadmandoc-1ac47583c44066590d7952c4e31d4b736ae27fca.tar.gz
In apropos(1) output, stop sorting .Nm search results by name
priorities (bits). The obscure feature wasn't documented and merely confused people - for example Edward Tomasz Napierala <trasz at FreeBSD>, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227408. Smaller patch provided by Yuri Pankov <yuripv at FreeBSD>, but i'm also retiring the now unused "bits" member from struct manpage. Simplification is good.
Diffstat (limited to 'mansearch.c')
-rw-r--r--mansearch.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/mansearch.c b/mansearch.c
index 7ac8bcd2..d1552dc4 100644
--- a/mansearch.c
+++ b/mansearch.c
@@ -201,7 +201,6 @@ mansearch(const struct mansearch *search,
mpage->names = buildnames(page);
mpage->output = buildoutput(outkey, page);
mpage->ipath = i;
- mpage->bits = rp->bits;
mpage->sec = *page->sect - '0';
if (mpage->sec < 0 || mpage->sec > 9)
mpage->sec = 10;
@@ -296,10 +295,8 @@ manmerge_term(struct expr *e, struct ohash *htab)
break;
slot = ohash_lookup_memory(htab,
(char *)&res, sizeof(res.page), res.page);
- if ((rp = ohash_find(htab, slot)) != NULL) {
- rp->bits |= res.bits;
+ if ((rp = ohash_find(htab, slot)) != NULL)
continue;
- }
rp = mandoc_malloc(sizeof(*rp));
*rp = res;
ohash_insert(htab, slot, rp);
@@ -412,8 +409,7 @@ manpage_compare(const void *vp1, const void *vp2)
mp1 = vp1;
mp2 = vp2;
- if ((diff = mp2->bits - mp1->bits) ||
- (diff = mp1->sec - mp2->sec))
+ if ((diff = mp1->sec - mp2->sec))
return diff;
/* Fall back to alphabetic ordering of names. */