]> git.cameronkatri.com Git - mandoc.git/commitdiff
Instead of silently doing nothing at all,
authorIngo Schwarze <schwarze@openbsd.org>
Thu, 3 Apr 2014 21:45:31 +0000 (21:45 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Thu, 3 Apr 2014 21:45:31 +0000 (21:45 +0000)
warn and return non-zero when the manpath is empty, that is,
when /etc/man.conf is non-existent or unreadable
AND the environment variable MANPATH is unset or empty
AND no directories were given on the command line.

Inspired by the error handling in espie@'s makewhatis(8),
except that one doesn't know about MANPATH.

mandocdb.c

index 6e61c149792ae068081f6035c6a7e0e40acdb83c..5ce63bcb1b18abe895462139214399efa4b7ad73 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mandocdb.c,v 1.126 2014/04/03 16:27:28 schwarze Exp $ */
+/*     $Id: mandocdb.c,v 1.127 2014/04/03 21:45:31 schwarze Exp $ */
 /*
  * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -462,6 +462,11 @@ main(int argc, char *argv[])
                } else
                        manpath_parse(&dirs, path_arg, NULL, NULL);
 
+               if (0 == dirs.sz) {
+                       exitcode = (int)MANDOCLEVEL_BADARG;
+                       say("", "Empty manpath");
+               }
+
                /*
                 * First scan the tree rooted at a base directory, then
                 * build a new database and finally move it into place.