diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-05-04 08:21:17 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-05-04 08:21:17 +0000 |
commit | c74a9fa3c4aa1003c08cf8571d41c861ec60a6a7 (patch) | |
tree | b87283bfdb33bf468b6256e85dd98c3431124830 | |
parent | 2cc2a2bf7cfd3d582debaf7e6fc96baedc26efda (diff) | |
download | mandoc-c74a9fa3c4aa1003c08cf8571d41c861ec60a6a7.tar.gz |
Add configurations (`Cd') to mandoc-db mining.
Also put some notes into index.sgml to the effect that mandoc-db exists,
but is not linked to the build.
-rw-r--r-- | index.sgml | 20 | ||||
-rw-r--r-- | mandoc-db.c | 23 |
2 files changed, 40 insertions, 3 deletions
@@ -44,7 +44,13 @@ <P> <SPAN CLASS="nm">mdocml</SPAN> is in plain-old ANSI C and should build and run on any UNIX system. The most current - version is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. + version is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. If your system doesn't come + with <SPAN CLASS="nm">mdocml</SPAN> (see <Q>Downstream</Q>), run <CODE>make</CODE> to compile and <CODE>make + install</CODE> to install into <I>/usr/local</I>. + </P> + <P> + Note that <A HREF="mandoc-db.1.html">mandoc-db</A> is not yet linked to the build. You must run <CODE>make + mandoc-db</CODE> to build it. </P> <H2> @@ -152,6 +158,18 @@ </TD> </TR> <TR> + <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc-db(1)</A></TD> + <TD VALIGN="top"> + index UNIX manuals + <SMALL> + (<A HREF="mandoc-db.1.txt">text</A> | + <A HREF="mandoc-db.1.xhtml">xhtml</A> | + <A HREF="mandoc-db.1.pdf">pdf</A> | + <A HREF="mandoc-db.1.ps">postscript</A>) + </SMALL> + </TD> + </TR> + <TR> <TD VALIGN="top"><A HREF="mandoc.3.html">mandoc(3)</A></TD> <TD VALIGN="top"> mandoc macro compiler library diff --git a/mandoc-db.c b/mandoc-db.c index 34c9a913..ea055c5e 100644 --- a/mandoc-db.c +++ b/mandoc-db.c @@ -50,7 +50,8 @@ enum type { MANDOC_INCLUDES, MANDOC_VARIABLE, MANDOC_STANDARD, - MANDOC_AUTHOR + MANDOC_AUTHOR, + MANDOC_CONFIG }; #define MAN_ARGS DB *db, \ @@ -79,6 +80,7 @@ static void pmdoc(DB *, const char *, DBT *, size_t *, DBT *, DBT *, size_t *, struct mdoc *); static void pmdoc_node(MDOC_ARGS); static void pmdoc_An(MDOC_ARGS); +static void pmdoc_Cd(MDOC_ARGS); static void pmdoc_Fd(MDOC_ARGS); static void pmdoc_In(MDOC_ARGS); static void pmdoc_Fn(MDOC_ARGS); @@ -110,7 +112,7 @@ static const pmdoc_nf mdocs[MDOC_MAX] = { NULL, /* Ad */ pmdoc_An, /* An */ NULL, /* Ar */ - NULL, /* Cd */ + pmdoc_Cd, /* Cd */ NULL, /* Cm */ NULL, /* Dv */ NULL, /* Er */ @@ -593,6 +595,23 @@ pmdoc_Fd(MDOC_ARGS) /* ARGSUSED */ static void +pmdoc_Cd(MDOC_ARGS) +{ + uint32_t fl; + + if (SEC_SYNOPSIS != n->sec) + return; + + for (n = n->child; n; n = n->next) + if (MDOC_TEXT == n->type) + dbt_append(key, ksz, n->string); + + fl = MANDOC_CONFIG; + memcpy(val->data, &fl, 4); +} + +/* ARGSUSED */ +static void pmdoc_In(MDOC_ARGS) { uint32_t fl; |