summaryrefslogtreecommitdiffstatshomepage
path: root/mandoc-db.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-04-04 10:53:15 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-04-04 10:53:15 +0000
commitb2742286b1f8fde21eb7e583826a71e8839c3948 (patch)
tree7705b00716745ea3af092f784d65fa6ce65ec1be /mandoc-db.c
parent824bfe0f9cfce158150d43a272fdce3b415ad758 (diff)
downloadmandoc-b2742286b1f8fde21eb7e583826a71e8839c3948.tar.gz
mandoc-b2742286b1f8fde21eb7e583826a71e8839c3948.tar.zst
mandoc-b2742286b1f8fde21eb7e583826a71e8839c3948.zip
Add manual page for mandoc-db (mostly to document the file format of
the generated index and keyword databases). Add some documentation within mandoc-db.c.
Diffstat (limited to 'mandoc-db.c')
-rw-r--r--mandoc-db.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/mandoc-db.c b/mandoc-db.c
index 2cd7de27..7af58beb 100644
--- a/mandoc-db.c
+++ b/mandoc-db.c
@@ -1,4 +1,4 @@
-/* $Id: mandoc-db.c,v 1.3 2011/04/03 14:18:29 kristaps Exp $ */
+/* $Id: mandoc-db.c,v 1.4 2011/04/04 10:53:15 kristaps Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -61,7 +61,6 @@ static void dbt_append(DBT *, size_t *, const char *);
static void dbt_appendb(DBT *, size_t *,
const void *, size_t);
static void dbt_init(DBT *, size_t *);
-static void version(void);
static void usage(void);
static void pmdoc(DB *, const char *,
DBT *, size_t *, DBT *,
@@ -234,14 +233,11 @@ main(int argc, char *argv[])
dir = "";
- while (-1 != (c = getopt(argc, argv, "d:V")))
+ while (-1 != (c = getopt(argc, argv, "d:")))
switch (c) {
case ('d'):
dir = optarg;
break;
- case ('V'):
- version();
- return((int)MANDOCLEVEL_OK);
default:
usage();
return((int)MANDOCLEVEL_BADARG);
@@ -329,8 +325,10 @@ main(int argc, char *argv[])
while (NULL != (fn = *argv++)) {
mparse_reset(mp);
- if (mparse_readfd(mp, -1, fn) >= MANDOCLEVEL_FATAL)
+ if (mparse_readfd(mp, -1, fn) >= MANDOCLEVEL_FATAL) {
+ fprintf(stderr, "%s: Parse failure\n", fn);
continue;
+ }
mparse_result(mp, &mdoc, NULL);
if (NULL == mdoc)
@@ -443,11 +441,22 @@ pmdoc_Fd(MDOC_ARGS)
return;
if (NULL == (n = n->child) || MDOC_TEXT != n->type)
return;
+
+ /*
+ * Only consider those `Fd' macro fields that begin with an
+ * "inclusion" token (versus, e.g., #define).
+ */
if (strcmp("#include", n->string))
return;
+
if (NULL == (n = n->next) || MDOC_TEXT != n->type)
return;
+ /*
+ * Strip away the enclosing angle brackets and make sure we're
+ * not zero-length.
+ */
+
start = n->string;
if ('<' == *start)
start++;
@@ -501,7 +510,7 @@ pmdoc_Fn(MDOC_ARGS)
if (NULL == cp)
cp = n->child->string;
- /* Ignore pointers. */
+ /* Strip away pointer symbol. */
while ('*' == *cp)
cp++;
@@ -528,7 +537,7 @@ pmdoc_Vt(MDOC_ARGS)
return;
/*
- * Strip away leading '*' and trailing ';'.
+ * Strip away leading pointer symbol '*' and trailing ';'.
*/
start = n->last->string;
@@ -650,18 +659,10 @@ pmdoc(DB *db, const char *dbn,
}
static void
-version(void)
-{
-
- printf("%s %s\n", progname, VERSION);
-}
-
-static void
usage(void)
{
fprintf(stderr, "usage: %s "
- "[-V] "
"[-d path] "
"[file...]\n",
progname);