diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-27 23:11:37 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-27 23:11:37 +0000 |
commit | 4f08e1a59c1b75a054ad30dd951c0c511f05b28e (patch) | |
tree | 2913d0223d0da6b9bcab83277c86ff36059c9323 | |
parent | 59061e7ea735427f043254b454956da8bf073e88 (diff) | |
download | mandoc-4f08e1a59c1b75a054ad30dd951c0c511f05b28e.tar.gz |
Save the manual type (mdoc, man, or cat) in the index file
of the mandoc databases, as suggested by kristaps@.
Given the well-structured code, this is surprisingly simple.
This changes the mandoc.index database format.
Run "sudo mandocdb" to regenerate your databases.
-rw-r--r-- | apropos_db.c | 1 | ||||
-rw-r--r-- | apropos_db.h | 1 | ||||
-rw-r--r-- | mandocdb.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/apropos_db.c b/apropos_db.c index 7a423083..5e473a6b 100644 --- a/apropos_db.c +++ b/apropos_db.c @@ -366,6 +366,7 @@ index_read(const DBT *key, const DBT *val, int index, rec->res.rec = *(recno_t *)key->data; rec->res.volume = index; + INDEX_BREAD(rec->res.type); INDEX_BREAD(rec->res.file); INDEX_BREAD(rec->res.cat); INDEX_BREAD(rec->res.title); diff --git a/apropos_db.h b/apropos_db.h index 2591d87e..1accaa1f 100644 --- a/apropos_db.h +++ b/apropos_db.h @@ -18,6 +18,7 @@ #define APROPOS_H struct res { + char *type; /* file type: mdoc, man or cat */ char *file; /* file in file-system */ char *cat; /* category (3p, 3, etc.) */ char *title; /* title (FOO, etc.) */ @@ -592,6 +592,7 @@ index_merge(const struct of *of, struct mparse *mp, */ dbuf->len = 0; + buf_append(dbuf, mdoc ? "mdoc" : (man ? "man" : "cat")); buf_appendb(dbuf, fn, strlen(fn) + 1); buf_appendb(dbuf, msec, strlen(msec) + 1); buf_appendb(dbuf, mtitle, strlen(mtitle) + 1); |