From 16090f0e285aa9c2dd3f5f0324483899f4e1ce7d Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 27 Nov 2011 23:27:31 +0000 Subject: Reimplement the global command line options -a and -v as static global variables, reducing the maze of arguments passed around among various static functions. Suggested by kristaps@. --- mandocdb.c | 46 ++++++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 26 deletions(-) (limited to 'mandocdb.c') diff --git a/mandocdb.c b/mandocdb.c index ec740ef9..fed68258 100644 --- a/mandocdb.c +++ b/mandocdb.c @@ -97,18 +97,15 @@ static void dbt_put(DB *, const char *, DBT *, DBT *); static void hash_put(DB *, const struct buf *, uint64_t); static void hash_reset(DB **); static void index_merge(const struct of *, struct mparse *, - struct buf *, struct buf *, - DB *, DB *, const char *, - DB *, const char *, int, int, + struct buf *, struct buf *, DB *, + DB *, const char *, DB *, const char *, recno_t, const recno_t *, size_t); static void index_prune(const struct of *, DB *, const char *, DB *, const char *, - int, recno_t *, recno_t **, size_t *); -static void ofile_argbuild(char *[], int, int, int, - struct of **); + recno_t *, recno_t **, size_t *); +static void ofile_argbuild(int, char *[], struct of **); static int ofile_dirbuild(const char *, const char *, - const char *, int, int, int, - struct of **); + const char *, int, struct of **); static void ofile_free(struct of *); static void pformatted(DB *, struct buf *, struct buf *, const struct of *); @@ -258,6 +255,8 @@ static const pmdoc_nf mdocs[MDOC_MAX] = { }; static const char *progname; +static int use_all; /* Use all directories and files. */ +static int verb; /* Output verbosity level. */ int main(int argc, char *argv[]) @@ -268,9 +267,7 @@ main(int argc, char *argv[]) const char *dir; char ibuf[MAXPATHLEN], /* index fname */ fbuf[MAXPATHLEN]; /* btree fname */ - int verb, /* output verbosity */ - use_all, /* use all directories and files */ - ch, i, flags; + int ch, i, flags; DB *idx, /* index database */ *db, /* keyword database */ *hash; /* temporary keyword hashtable */ @@ -377,19 +374,19 @@ main(int argc, char *argv[]) printf("%s: Opened\n", ibuf); } - ofile_argbuild(argv, argc, use_all, verb, &of); + ofile_argbuild(argc, argv, &of); if (NULL == of) goto out; of = of->first; - index_prune(of, db, fbuf, idx, ibuf, verb, + index_prune(of, db, fbuf, idx, ibuf, &maxrec, &recs, &recsz); if (OP_UPDATE == op) index_merge(of, mp, &dbuf, &buf, hash, - db, fbuf, idx, ibuf, use_all, - verb, maxrec, recs, reccur); + db, fbuf, idx, ibuf, + maxrec, recs, reccur); goto out; } @@ -450,7 +447,7 @@ main(int argc, char *argv[]) of = NULL; if ( ! ofile_dirbuild(dirs.paths[i], NULL, NULL, - 0, use_all, verb, &of)) + 0, &of)) exit((int)MANDOCLEVEL_SYSERR); if (NULL == of) @@ -459,8 +456,7 @@ main(int argc, char *argv[]) of = of->first; index_merge(of, mp, &dbuf, &buf, hash, db, fbuf, - idx, ibuf, use_all, verb, - maxrec, recs, reccur); + idx, ibuf, maxrec, recs, reccur); } out: @@ -484,9 +480,8 @@ out: void index_merge(const struct of *of, struct mparse *mp, - struct buf *dbuf, struct buf *buf, - DB *hash, DB *db, const char *dbf, - DB *idx, const char *idxf, int use_all, int verb, + struct buf *dbuf, struct buf *buf, DB *hash, + DB *db, const char *dbf, DB *idx, const char *idxf, recno_t maxrec, const recno_t *recs, size_t reccur) { recno_t rec; @@ -662,7 +657,7 @@ index_merge(const struct of *of, struct mparse *mp, */ static void index_prune(const struct of *ofile, DB *db, const char *dbf, - DB *idx, const char *idxf, int verb, + DB *idx, const char *idxf, recno_t *maxrec, recno_t **recs, size_t *recsz) { const struct of *of; @@ -1336,8 +1331,7 @@ pformatted(DB *hash, struct buf *buf, struct buf *dbuf, } static void -ofile_argbuild(char *argv[], int argc, int use_all, int verb, - struct of **of) +ofile_argbuild(int argc, char *argv[], struct of **of) { char buf[MAXPATHLEN]; char *sec, *arch, *title, *p; @@ -1429,7 +1423,7 @@ ofile_argbuild(char *argv[], int argc, int use_all, int verb, */ static int ofile_dirbuild(const char *dir, const char* psec, const char *parch, - int p_src_form, int use_all, int verb, struct of **of) + int p_src_form, struct of **of) { char buf[MAXPATHLEN]; struct stat sb; @@ -1495,7 +1489,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, printf("%s: Scanning\n", buf); if ( ! ofile_dirbuild(buf, sec, arch, - src_form, use_all, verb, of)) + src_form, of)) return(0); } if (DT_REG != dp->d_type || -- cgit