=================================================================== RCS file: /cvs/mandoc/Attic/makewhatis.c,v retrieving revision 1.15 retrieving revision 1.17 diff -u -p -r1.15 -r1.17 --- mandoc/Attic/makewhatis.c 2011/07/01 12:02:44 1.15 +++ mandoc/Attic/makewhatis.c 2011/07/10 13:03:31 1.17 @@ -1,4 +1,4 @@ -/* $Id: makewhatis.c,v 1.15 2011/07/01 12:02:44 kristaps Exp $ */ +/* $Id: makewhatis.c,v 1.17 2011/07/10 13:03:31 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * @@ -57,6 +57,7 @@ #define TYPE_XREF 0x200 #define TYPE_PATH 0x400 #define TYPE_ENV 0x800 +#define TYPE_ERR 0x1000 /* Buffer for storing growable data. */ @@ -87,6 +88,7 @@ static int pman_node(MAN_ARGS); static void pmdoc_node(MDOC_ARGS); static void pmdoc_An(MDOC_ARGS); static void pmdoc_Cd(MDOC_ARGS); +static void pmdoc_Er(MDOC_ARGS); static void pmdoc_Ev(MDOC_ARGS); static void pmdoc_Fd(MDOC_ARGS); static void pmdoc_In(MDOC_ARGS); @@ -123,7 +125,7 @@ static const pmdoc_nf mdocs[MDOC_MAX] = { pmdoc_Cd, /* Cd */ NULL, /* Cm */ NULL, /* Dv */ - NULL, /* Er */ + pmdoc_Er, /* Er */ pmdoc_Ev, /* Ev */ NULL, /* Ex */ NULL, /* Fa */ @@ -766,6 +768,18 @@ pmdoc_Nd(MDOC_ARGS) /* ARGSUSED */ static void +pmdoc_Er(MDOC_ARGS) +{ + + if (SEC_ERRORS != n->sec) + return; + + buf_appendmdoc(buf, n->child, 0); + hash_put(hash, buf, TYPE_ERR); +} + +/* ARGSUSED */ +static void pmdoc_Ev(MDOC_ARGS) { @@ -947,8 +961,9 @@ pman_node(MAN_ARGS) start++; } + buf->len = 0; + if (sv == start) { - buf->len = 0; buf_append(buf, start); return(1); } @@ -971,6 +986,8 @@ pman_node(MAN_ARGS) sz = strlen(start) + 1; buf_appendb(dbuf, start, sz); buf_appendb(buf, start, sz); + + hash_put(hash, buf, TYPE_DESC); } }