version 1.273.2.8, 2017/02/17 14:50:13 |
version 1.273.2.9, 2017/02/21 17:04:04 |
Line 81 struct curparse { |
|
Line 81 struct curparse { |
|
struct manoutput *outopts; /* output options */ |
struct manoutput *outopts; /* output options */ |
}; |
}; |
|
|
|
|
#if HAVE_SQLITE3 |
|
int mandocdb(int, char *[]); |
int mandocdb(int, char *[]); |
#endif |
|
|
|
static int fs_lookup(const struct manpaths *, |
static int fs_lookup(const struct manpaths *, |
size_t ipath, const char *, |
size_t ipath, const char *, |
const char *, const char *, |
const char *, const char *, |
Line 146 main(int argc, char *argv[]) |
|
Line 142 main(int argc, char *argv[]) |
|
setprogname(progname); |
setprogname(progname); |
#endif |
#endif |
|
|
#if HAVE_SQLITE3 |
|
if (strncmp(progname, "mandocdb", 8) == 0 || |
if (strncmp(progname, "mandocdb", 8) == 0 || |
strcmp(progname, BINM_MAKEWHATIS) == 0) |
strcmp(progname, BINM_MAKEWHATIS) == 0) |
return mandocdb(argc, argv); |
return mandocdb(argc, argv); |
#endif |
|
|
|
#if HAVE_PLEDGE |
#if HAVE_PLEDGE |
if (pledge("stdio rpath tmppath tty proc exec flock", NULL) == -1) |
if (pledge("stdio rpath tmppath tty proc exec flock", NULL) == -1) |
Line 371 main(int argc, char *argv[]) |
|
Line 365 main(int argc, char *argv[]) |
|
/* Access the mandoc database. */ |
/* Access the mandoc database. */ |
|
|
manconf_parse(&conf, conf_file, defpaths, auxpaths); |
manconf_parse(&conf, conf_file, defpaths, auxpaths); |
#if HAVE_SQLITE3 |
|
mansearch_setup(1); |
mansearch_setup(1); |
if ( ! mansearch(&search, &conf.manpath, |
if ( ! mansearch(&search, &conf.manpath, |
argc, argv, &res, &sz)) |
argc, argv, &res, &sz)) |
usage(search.argmode); |
usage(search.argmode); |
#else |
|
if (search.argmode != ARG_NAME) { |
|
fputs("mandoc: database support not compiled in\n", |
|
stderr); |
|
return (int)MANDOCLEVEL_BADARG; |
|
} |
|
sz = 0; |
|
#endif |
|
|
|
if (sz == 0) { |
if (sz == 0) { |
if (search.argmode == ARG_NAME) |
if (search.argmode == ARG_NAME) |
fs_search(&search, &conf.manpath, |
fs_search(&search, &conf.manpath, |
Line 537 main(int argc, char *argv[]) |
|
Line 521 main(int argc, char *argv[]) |
|
out: |
out: |
if (search.argmode != ARG_FILE) { |
if (search.argmode != ARG_FILE) { |
manconf_free(&conf); |
manconf_free(&conf); |
#if HAVE_SQLITE3 |
|
mansearch_free(res, sz); |
mansearch_free(res, sz); |
mansearch_setup(0); |
mansearch_setup(0); |
#endif |
|
} |
} |
|
|
free(defos); |
free(defos); |
Line 682 fs_lookup(const struct manpaths *paths, size_t ipath, |
|
Line 664 fs_lookup(const struct manpaths *paths, size_t ipath, |
|
return 0; |
return 0; |
|
|
found: |
found: |
#if HAVE_SQLITE3 |
|
warnx("outdated mandoc.db lacks %s(%s) entry, run %s %s", |
warnx("outdated mandoc.db lacks %s(%s) entry, run %s %s", |
name, sec, BINM_MAKEWHATIS, paths->paths[ipath]); |
name, sec, BINM_MAKEWHATIS, paths->paths[ipath]); |
#endif |
|
*res = mandoc_reallocarray(*res, ++*ressz, sizeof(struct manpage)); |
*res = mandoc_reallocarray(*res, ++*ressz, sizeof(struct manpage)); |
page = *res + (*ressz - 1); |
page = *res + (*ressz - 1); |
page->file = file; |
page->file = file; |