=================================================================== RCS file: /cvs/mandoc/Attic/makewhatis.c,v retrieving revision 1.14 retrieving revision 1.17 diff -u -p -r1.14 -r1.17 --- mandoc/Attic/makewhatis.c 2011/07/01 10:46:32 1.14 +++ mandoc/Attic/makewhatis.c 2011/07/10 13:03:31 1.17 @@ -1,4 +1,4 @@ -/* $Id: makewhatis.c,v 1.14 2011/07/01 10:46:32 kristaps Exp $ */ +/* $Id: makewhatis.c,v 1.17 2011/07/10 13:03:31 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * @@ -56,6 +56,8 @@ #define TYPE_DESC 0x100 #define TYPE_XREF 0x200 #define TYPE_PATH 0x400 +#define TYPE_ENV 0x800 +#define TYPE_ERR 0x1000 /* Buffer for storing growable data. */ @@ -86,6 +88,8 @@ 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); static void pmdoc_Fn(MDOC_ARGS); @@ -121,8 +125,8 @@ static const pmdoc_nf mdocs[MDOC_MAX] = { pmdoc_Cd, /* Cd */ NULL, /* Cm */ NULL, /* Dv */ - NULL, /* Er */ - NULL, /* Ev */ + pmdoc_Er, /* Er */ + pmdoc_Ev, /* Ev */ NULL, /* Ex */ NULL, /* Fa */ pmdoc_Fd, /* Fd */ @@ -764,6 +768,30 @@ 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) +{ + + if (SEC_ENVIRONMENT != n->sec) + return; + + buf_appendmdoc(buf, n->child, 0); + hash_put(hash, buf, TYPE_ENV); +} + +/* ARGSUSED */ +static void pmdoc_Pa(MDOC_ARGS) { @@ -933,8 +961,9 @@ pman_node(MAN_ARGS) start++; } + buf->len = 0; + if (sv == start) { - buf->len = 0; buf_append(buf, start); return(1); } @@ -957,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); } }