=================================================================== RCS file: /cvs/mandoc/mansearch.c,v retrieving revision 1.61 retrieving revision 1.65 diff -u -p -r1.61 -r1.65 --- mandoc/mansearch.c 2015/11/06 21:19:09 1.61 +++ mandoc/mansearch.c 2016/07/09 15:24:19 1.65 @@ -1,4 +1,4 @@ -/* $Id: mansearch.c,v 1.61 2015/11/06 21:19:09 schwarze Exp $ */ +/* $Id: mansearch.c,v 1.65 2016/07/09 15:24:19 schwarze Exp $ */ /* * Copyright (c) 2012 Kristaps Dzonsons * Copyright (c) 2013, 2014, 2015 Ingo Schwarze @@ -21,10 +21,11 @@ #include #include +#if HAVE_ERR #include +#endif #include #include -#include #include #include #include @@ -52,17 +53,17 @@ extern const char *const mansearch_keynames[]; #define SQL_BIND_TEXT(_db, _s, _i, _v) \ do { if (SQLITE_OK != sqlite3_bind_text \ ((_s), (_i)++, (_v), -1, SQLITE_STATIC)) \ - warnx("%s", sqlite3_errmsg((_db))); \ + errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ } while (0) #define SQL_BIND_INT64(_db, _s, _i, _v) \ do { if (SQLITE_OK != sqlite3_bind_int64 \ ((_s), (_i)++, (_v))) \ - warnx("%s", sqlite3_errmsg((_db))); \ + errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ } while (0) #define SQL_BIND_BLOB(_db, _s, _i, _v) \ do { if (SQLITE_OK != sqlite3_bind_blob \ ((_s), (_i)++, (&_v), sizeof(_v), SQLITE_STATIC)) \ - warnx("%s", sqlite3_errmsg((_db))); \ + errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ } while (0) struct expr { @@ -123,7 +124,7 @@ mansearch_setup(int start) MAP_SHARED | MAP_ANON, -1, 0); if (MAP_FAILED == pagecache) { - perror("mmap"); + warn("mmap"); pagecache = NULL; return (int)MANDOCLEVEL_SYSERR; } @@ -142,7 +143,7 @@ mansearch_setup(int start) } if (-1 == munmap(pagecache, PC_PAGESIZE * PC_NUMPAGES)) { - perror("munmap"); + warn("munmap"); pagecache = NULL; return (int)MANDOCLEVEL_SYSERR; } @@ -224,12 +225,12 @@ mansearch(const struct mansearch *search, warnx("%s: getcwd: %s", paths->paths[i], buf); continue; } else if (chdir(buf) == -1) { - perror(buf); + warn("%s", buf); continue; } } if (chdir(paths->paths[i]) == -1) { - perror(paths->paths[i]); + warn("%s", paths->paths[i]); continue; } chdir_status = 1; @@ -260,7 +261,8 @@ mansearch(const struct mansearch *search, j = 1; c = sqlite3_prepare_v2(db, sql, -1, &s, NULL); if (SQLITE_OK != c) - warnx("%s", sqlite3_errmsg(db)); + errx((int)MANDOCLEVEL_SYSERR, + "%s", sqlite3_errmsg(db)); for (ep = e; NULL != ep; ep = ep->next) { if (NULL == ep->substr) { @@ -310,14 +312,16 @@ mansearch(const struct mansearch *search, "WHERE pageid=? ORDER BY sec, arch, name", -1, &s, NULL); if (SQLITE_OK != c) - warnx("%s", sqlite3_errmsg(db)); + errx((int)MANDOCLEVEL_SYSERR, + "%s", sqlite3_errmsg(db)); c = sqlite3_prepare_v2(db, "SELECT bits, key, pageid FROM keys " "WHERE pageid=? AND bits & ?", -1, &s2, NULL); if (SQLITE_OK != c) - warnx("%s", sqlite3_errmsg(db)); + errx((int)MANDOCLEVEL_SYSERR, + "%s", sqlite3_errmsg(db)); for (mp = ohash_first(&htab, &idx); NULL != mp; @@ -359,7 +363,7 @@ mansearch(const struct mansearch *search, } qsort(*res, cur, sizeof(struct manpage), manpage_compare); if (chdir_status && getcwd_status && chdir(buf) == -1) - perror(buf); + warn("%s", buf); exprfree(e); free(sql); *sz = cur;