=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.265 retrieving revision 1.272 diff -u -p -r1.265 -r1.272 --- mandoc/main.c 2016/04/14 20:55:48 1.265 +++ mandoc/main.c 2016/07/15 19:33:01 1.272 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.265 2016/04/14 20:55:48 schwarze Exp $ */ +/* $Id: main.c,v 1.272 2016/07/15 19:33:01 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2012, 2014-2016 Ingo Schwarze @@ -30,6 +30,9 @@ #include #include #include +#if HAVE_SANDBOX_INIT +#include +#endif #include #include #include @@ -84,6 +87,11 @@ struct curparse { struct manoutput *outopts; /* output options */ }; + +#if HAVE_SQLITE3 +int mandocdb(int, char *[]); +#endif + static int fs_lookup(const struct manpaths *, size_t ipath, const char *, const char *, const char *, @@ -92,9 +100,6 @@ static void fs_search(const struct mansearch *, const struct manpaths *, int, char**, struct manpage **, size_t *); static int koptions(int *, char *); -#if HAVE_SQLITE3 -int mandocdb(int, char**); -#endif static int moptions(int *, char *); static void mmsg(enum mandocerr, enum mandoclevel, const char *, int, int, const char *); @@ -159,6 +164,11 @@ main(int argc, char *argv[]) err((int)MANDOCLEVEL_SYSERR, "pledge"); #endif +#if HAVE_SANDBOX_INIT + if (sandbox_init(kSBXProfileNoInternet, SANDBOX_NAMED, NULL) == -1) + errx((int)MANDOCLEVEL_SYSERR, "sandbox_init"); +#endif + /* Search options. */ memset(&conf, 0, sizeof(conf)); @@ -479,7 +489,7 @@ main(int argc, char *argv[]) conf.output.synopsisonly); if (argc > 1 && curp.outtype <= OUTT_UTF8) - ascii_sepline(curp.outdata); + terminal_sepline(curp.outdata); } else if (rc < MANDOCLEVEL_ERROR) rc = MANDOCLEVEL_ERROR; @@ -664,8 +674,8 @@ fs_lookup(const struct manpaths *paths, size_t ipath, found: #if HAVE_SQLITE3 - warnx("outdated mandoc.db lacks %s(%s) entry, run makewhatis %s", - name, sec, paths->paths[ipath]); + warnx("outdated mandoc.db lacks %s(%s) entry, run %s %s", + name, sec, BINM_MAKEWHATIS, paths->paths[ipath]); #endif *res = mandoc_reallocarray(*res, ++*ressz, sizeof(struct manpage)); page = *res + (*ressz - 1); @@ -970,7 +980,7 @@ woptions(struct curparse *curp, char *arg) while (*arg) { o = arg; - switch (getsubopt(&arg, UNCONST(toks), &v)) { + switch (getsubopt(&arg, (char * const *)toks, &v)) { case 0: curp->wstop = 1; break; @@ -1055,11 +1065,11 @@ spawn_pager(struct tag_files *tag_files) break; } - /* For more(1) and less(1), use the tag file. */ + /* For less(1), use the tag file. */ if ((cmdlen = strlen(argv[0])) >= 4) { cp = argv[0] + cmdlen - 4; - if (strcmp(cp, "less") == 0 || strcmp(cp, "more") == 0) { + if (strcmp(cp, "less") == 0) { argv[argc++] = mandoc_strdup("-T"); argv[argc++] = tag_files->tfn; }