summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-01 13:46:39 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-01 13:46:39 +0000
commit142f3f33ae70bff865d1359c11d71423346ca94c (patch)
tree9419d1aec41bc627313ded3c44ca7fcdfa960370
parent78860d6998411b54eb45efb7169550d999084fa8 (diff)
downloadmandoc-142f3f33ae70bff865d1359c11d71423346ca94c.tar.gz
Added `Er' in ERRORS scan to makewhatis.
-rw-r--r--makewhatis.12
-rw-r--r--makewhatis.c16
2 files changed, 17 insertions, 1 deletions
diff --git a/makewhatis.1 b/makewhatis.1
index 5c6389d5..8672170b 100644
--- a/makewhatis.1
+++ b/makewhatis.1
@@ -122,6 +122,8 @@ If the link has no section, the period terminates the string.
Path reference as given in the FILES section.
.It Li 0x800
Environment variable as given in the ENVIRONMENT section.
+.It Li 0x1000
+Error codes as given in the ERRORS section.
.El
.Pp
The last four bytes are a host-ordered record number within the
diff --git a/makewhatis.c b/makewhatis.c
index 8a812179..9a06783c 100644
--- a/makewhatis.c
+++ b/makewhatis.c
@@ -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)
{