diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-01-05 20:26:36 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-01-05 20:26:36 +0000 |
commit | 3d871d9086bbc5f79cd485dfb26b9d02a19cf2e3 (patch) | |
tree | 12c6882973b4bed0d9b5eb332153635e293e50e2 /libmandoc.h | |
parent | d9597fb775134ff4c4ae106fdb7f3214b5af2463 (diff) | |
download | mandoc-3d871d9086bbc5f79cd485dfb26b9d02a19cf2e3.tar.gz mandoc-3d871d9086bbc5f79cd485dfb26b9d02a19cf2e3.tar.zst mandoc-3d871d9086bbc5f79cd485dfb26b9d02a19cf2e3.zip |
Add an option -Q (quick) to mandocdb(8)
for accelerated generation of reduced-size databases.
Implement this by allowing the parsers to optionally
abort the parse sequence after the NAME section.
While here, garbage collect the unused void *arg attribute of
struct mparse and mparse_alloc() and fix some errors in mandoc(3).
This reduces the processing time of mandocdb(8) on /usr/share/man
by a factor of 2 and the database size by a factor of 4.
However, it still takes 5 times the time and 6 times the space
of makewhatis(8), so more work is clearly needed.
Diffstat (limited to 'libmandoc.h')
-rw-r--r-- | libmandoc.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libmandoc.h b/libmandoc.h index ab243ff9..7a1b4219 100644 --- a/libmandoc.h +++ b/libmandoc.h @@ -1,4 +1,4 @@ -/* $Id: libmandoc.h,v 1.37 2014/01/05 19:10:56 joerg Exp $ */ +/* $Id: libmandoc.h,v 1.38 2014/01/05 20:26:36 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2013 Ingo Schwarze <schwarze@openbsd.org> @@ -50,7 +50,7 @@ int mandoc_strntoi(const char *, size_t, int); const char *mandoc_a2msec(const char*); void mdoc_free(struct mdoc *); -struct mdoc *mdoc_alloc(struct roff *, struct mparse *, char *); +struct mdoc *mdoc_alloc(struct roff *, struct mparse *, char *, int); void mdoc_reset(struct mdoc *); int mdoc_parseln(struct mdoc *, int, char *, int); int mdoc_endparse(struct mdoc *); @@ -58,7 +58,7 @@ int mdoc_addspan(struct mdoc *, const struct tbl_span *); int mdoc_addeqn(struct mdoc *, const struct eqn *); void man_free(struct man *); -struct man *man_alloc(struct roff *, struct mparse *); +struct man *man_alloc(struct roff *, struct mparse *, int); void man_reset(struct man *); int man_parseln(struct man *, int, char *, int); int man_endparse(struct man *); |