=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.267 retrieving revision 1.271 diff -u -p -r1.267 -r1.271 --- mandoc/main.c 2016/07/08 22:29:05 1.267 +++ mandoc/main.c 2016/07/15 18:50:20 1.271 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.267 2016/07/08 22:29:05 schwarze Exp $ */ +/* $Id: main.c,v 1.271 2016/07/15 18:50:20 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)); @@ -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; }