From 42e809e6f89c835d55a7d3f2046e28b6a227122a Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 5 Jan 2014 00:29:54 +0000 Subject: Put section and architecture info into the keys table, in preparation for removing them from the mpages table, aiming for cleaner and more uniform interfaces. Database growth is below 4%, part of which will be reclaimed. As a bonus, this allows searches like: ./obj/apropos An=kettenis -a arch=ppc ./obj/apropos An=kettenis -a sec~[^4] --- mandocdb.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'mandocdb.c') diff --git a/mandocdb.c b/mandocdb.c index 28d11e0b..689951a3 100644 --- a/mandocdb.c +++ b/mandocdb.c @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.96 2014/01/02 22:44:10 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.97 2014/01/05 00:29:54 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze @@ -1024,9 +1024,17 @@ mpages_merge(struct mchars *mc, struct mparse *mp, int check_reachable) mpage->title = mandoc_strdup(mpage->mlinks->name); } - - for (mlink = mpage->mlinks; mlink; mlink = mlink->next) + putkey(mpage, mpage->sec, TYPE_sec); + putkey(mpage, mpage->arch, TYPE_arch); + + for (mlink = mpage->mlinks; mlink; mlink = mlink->next) { + if ('\0' != *mlink->dsec) + putkey(mpage, mlink->dsec, TYPE_sec); + if ('\0' != *mlink->fsec) + putkey(mpage, mlink->fsec, TYPE_sec); + putkey(mpage, mlink->arch, TYPE_arch); putkey(mpage, mlink->name, TYPE_Nm); + } if (warnings && !use_all) { match = 0; -- cgit v1.2.3