Module Name: src Committed By: abhinav Date: Sun Jul 17 12:18:12 UTC 2016
Modified Files: src/usr.sbin/makemandb: makemandb.c Log Message: Fix extraction of section number and machine architecture from man pages. With the latest API, mdoc_validate()/man_validate() needs to be called before reading the roff_man.meta field, otherwise it is NULL. Also, if a man page doesn't specify machine architecture, don't default to '?' , let it be stored as null in the db. Otherwise, the output of apropos(1) shows the names of the results as \?/<title> To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/makemandb/makemandb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/makemandb/makemandb.c diff -u src/usr.sbin/makemandb/makemandb.c:1.40 src/usr.sbin/makemandb/makemandb.c:1.41 --- src/usr.sbin/makemandb/makemandb.c:1.40 Fri Jul 15 19:41:33 2016 +++ src/usr.sbin/makemandb/makemandb.c Sun Jul 17 12:18:12 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: makemandb.c,v 1.40 2016/07/15 19:41:33 christos Exp $ */ +/* $NetBSD: makemandb.c,v 1.41 2016/07/17 12:18:12 abhinav Exp $ */ /* * Copyright (c) 2011 Abhinav Upadhyay <er.abhinav.upadh...@gmail.com> * Copyright (c) 2011 Kristaps Dzonsons <krist...@bsd.lv> @@ -17,7 +17,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: makemandb.c,v 1.40 2016/07/15 19:41:33 christos Exp $"); +__RCSID("$NetBSD: makemandb.c,v 1.41 2016/07/17 12:18:12 abhinav Exp $"); #include <sys/stat.h> #include <sys/types.h> @@ -928,16 +928,18 @@ begin_parse(const char *file, struct mpa return; } - set_machine(roff, rec); - set_section(roff, rec); if (roff->macroset == MACROSET_MDOC) { + mdoc_validate(roff); rec->page_type = MDOC; proff_node(roff->first->child, rec, mdocs); } else if (roff->macroset == MACROSET_MAN) { + man_validate(roff); rec->page_type = MAN; proff_node(roff->first->child, rec, mans); } else warnx("Unknown macroset %d", roff->macroset); + set_machine(roff, rec); + set_section(roff, rec); } /* @@ -967,8 +969,8 @@ set_machine(const struct roff_man *rm, m if (rm == NULL) return; const struct roff_meta *rm_meta = &rm->meta; - const char *a = rm_meta->arch == NULL ? "?" : rm_meta->arch; - rec->machine = estrdup(a); + if (rm_meta->arch) + rec->machine = estrdup(rm_meta->arch); } /*