-/* $Id: mandocdb.c,v 1.214 2016/01/08 15:02:54 schwarze Exp $ */
+/* $Id: mandocdb.c,v 1.219 2016/07/15 18:03:45 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2016 Ingo Schwarze <schwarze@openbsd.org>
#else
#include "compat_fts.h"
#endif
-#include <getopt.h>
#include <limits.h>
+#if HAVE_SANDBOX_INIT
+#include <sandbox.h>
+#endif
#include <stddef.h>
#include <stdio.h>
#include <stdint.h>
uint64_t mask; /* set unless handler returns 0 */
};
+
+int mandocdb(int, char *[]);
+
static void dbclose(int);
static void dbadd(struct mpage *);
static void dbadd_mlink(const struct mlink *mlink);
}
#endif
+#if HAVE_SANDBOX_INIT
+ if (sandbox_init(kSBXProfileNoInternet, SANDBOX_NAMED, NULL) == -1) {
+ warnx("sandbox_init");
+ return (int)MANDOCLEVEL_SYSERR;
+ }
+#endif
+
memset(&conf, 0, sizeof(conf));
memset(stmts, 0, STMT__MAX * sizeof(sqlite3_stmt *));
* or
* [./]cat<section>[/<arch>]/<name>.0
*
- * TODO: accomodate for multi-language directories.
+ * TODO: accommodate for multi-language directories.
*/
static int
treescan(void)
char byte;
size_t sz;
- if (NULL == n)
+ if (n == NULL)
return;
/*
if (n->type == ROFFT_BODY && n->tok == MAN_SH) {
body = n;
- assert(body->parent);
- if (NULL != (head = body->parent->head) &&
- 1 == head->nchild &&
- NULL != (head = (head->child)) &&
+ if ((head = body->parent->head) != NULL &&
+ (head = head->child) != NULL &&
+ head->next == NULL &&
head->type == ROFFT_TEXT &&
- 0 == strcmp(head->string, "NAME") &&
- NULL != body->child) {
+ strcmp(head->string, "NAME") == 0 &&
+ body->child != NULL) {
/*
* Suck the entire NAME section into memory.
if (n->type != ROFFT_ELEM && n->type != ROFFT_BODY)
return 0;
- if (n->nchild == 1 && n->child->type == ROFFT_TEXT)
+ if (n->child != NULL &&
+ n->child->next == NULL &&
+ n->child->type == ROFFT_TEXT)
return 1;
cp = NULL;