Module Name: src Committed By: abhinav Date: Sun Apr 23 13:52:57 UTC 2017
Modified Files: src/usr.sbin/makemandb: apropos-utils.c Log Message: Better handle MLINKS in apropos(1). apropos(1) only indexes the first .Nm entry from the NAME section in the full text index. Rest of the .Nm entries are stored in a separate table: mandb_links. Till now apropos(1) did not use the mandb_links table. So whenever a query was being made for one of the man page links, such as realloc(3), it was showing malloc(3) in the results but not as the first result. And, also the result would show up as malloc(3), rather than realloc(3) (which can be confusing). With this change, for single keyword queries, apropos(1) would now utilise the mandb_links table as well. If the query is for one of the links of a man page, it would show as the first result. Also, the result would show up as the name of the link rather than the original man page name. For example, if the query was for realloc, the output would be realloc(3), rather than malloc(3). Following are some example queries showing difference in the output before this change and after this change: #Before changes $ apropos -n 5 -M realloc reallocarr (3) reallocate array reallocarray (3) reallocate memory for an array of elements checking for overflow fgetwln (3) get a line of wide characters from a stream fgetln (3) get a line from a stream posix_memalign (3) aligned memory allocation #After changes $ ./apropos -n 5 -M realloc realloc (3) general memory allocation operations realloc (3) general purpose memory allocation functions realloc (9) general-purpose kernel memory allocator reallocarr (3) reallocate array reallocarray (3) reallocate memory for an array of elements checking for overflow #Before changes $ apropos -n 5 -M TAILQ_REMOVE SLIST_HEAD (3) implementations of singly-linked lists, lists, simple queues, tail queues, and singly-linked tail queues #After changes $ ./apropos -n 5 -M TAILQ_REMOVE TAILQ_REMOVE (3) implementations of singly-linked lists, lists, simple queues, tail queues, and singly-linked tail queues #Before changes $ apropos -n 5 -M falloc filedesc (9) file descriptor tables and operations file (9) operations on file entries #After changes $ ./apropos -n 5 -M falloc falloc (9) file descriptor tables and operations file (9) operations on file entries ok christos@ To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/makemandb/apropos-utils.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.