summaryrefslogtreecommitdiffstats
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
commiteb26063e6d14c60d65335fb8795468d2abaca26a (patch)
tree25bcf38f670759b41fcab6dcd06e7d8fcde2659b /mandoc-db.c
parentc07df5d52d6de4f2da056e0e2bdc6d7065f07835 (diff)
downloadmandoc-eb26063e6d14c60d65335fb8795468d2abaca26a.tar.gz
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.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/mandoc-db.c b/mandoc-db.c
index acc7bff9..1a3db9e8 100644
--- a/mandoc-db.c
+++ b/mandoc-db.c
@@ -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);