PR/47958: Robert Kovacic: makewhatis.c not generating entries in whatisdb
for POD generated pages
This commit is contained in:
parent
a27e3fe5b7
commit
1b9025205b
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: makewhatis.c,v 1.47 2009/04/02 21:39:33 apb Exp $ */
|
||||
/* $NetBSD: makewhatis.c,v 1.48 2013/06/24 12:56:22 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999 The NetBSD Foundation, Inc.
|
||||
|
@ -37,7 +37,7 @@
|
|||
#if !defined(lint)
|
||||
__COPYRIGHT("@(#) Copyright (c) 1999\
|
||||
The NetBSD Foundation, Inc. All rights reserved.");
|
||||
__RCSID("$NetBSD: makewhatis.c,v 1.47 2009/04/02 21:39:33 apb Exp $");
|
||||
__RCSID("$NetBSD: makewhatis.c,v 1.48 2013/06/24 12:56:22 christos Exp $");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -871,6 +871,8 @@ static char *
|
|||
parsemanpage(const char *name, gzFile *in, int defaultsection)
|
||||
{
|
||||
char *section, buffer[8192], *ptr;
|
||||
static const char POD[] = ".\\\" Automatically generated by Pod";
|
||||
static const char IX[] = ".IX TITLE";
|
||||
|
||||
section = NULL;
|
||||
do {
|
||||
|
@ -878,6 +880,24 @@ parsemanpage(const char *name, gzFile *in, int defaultsection)
|
|||
free(section);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Skip over lines in man pages that have been generated
|
||||
* by Pod, until we find the TITLE. This makewhatis cannot
|
||||
* deal with it (and as * a result the man page would not
|
||||
* appear in whatis.db)
|
||||
* Modified by Robert Kovacic, June 23 2013.
|
||||
*/
|
||||
if (strncasecmp(buffer, POD, sizeof(POD) - 1) == 0) {
|
||||
do {
|
||||
if (GetS(in, buffer, sizeof(buffer) - 1)
|
||||
== NULL) {
|
||||
free(section);
|
||||
return NULL;
|
||||
}
|
||||
} while (strncasecmp(buffer, IX, sizeof(IX) - 1) != 0);
|
||||
}
|
||||
|
||||
if (manpreprocess(buffer))
|
||||
continue;
|
||||
if (strncasecmp(buffer, ".Dt", 3) == 0) {
|
||||
|
|
Loading…
Reference in New Issue