]> git.cameronkatri.com Git - mandoc.git/blobdiff - manpath.c
In .Bl -column, if some of the column width declarations are given
[mandoc.git] / manpath.c
index e22aa9268a8c218ca32beac99e81a4186d49eb92..61b2c7e05077435ad7f6467071f43b17748269d8 100644 (file)
--- a/manpath.c
+++ b/manpath.c
@@ -1,4 +1,4 @@
-/*     $Id: manpath.c,v 1.9 2012/06/08 10:32:40 kristaps Exp $ */
+/*     $Id: manpath.c,v 1.15 2014/04/23 21:06:41 schwarze Exp $ */
 /*
  * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -19,8 +19,6 @@
 #include "config.h"
 #endif
 
-#include <sys/param.h>
-
 #include <assert.h>
 #include <ctype.h>
 #include <limits.h>
@@ -28,7 +26,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "mandoc.h"
+#include "mandoc_aux.h"
 #include "manpath.h"
 
 #define MAN_CONF_FILE  "/etc/man.conf"
@@ -42,7 +40,7 @@ manpath_parse(struct manpaths *dirs, const char *file,
                char *defp, char *auxp)
 {
 #ifdef USE_MANPATH
-       char             cmd[(MAXPATHLEN * 3) + 20];
+       char             cmd[(PATH_MAX * 3) + 20];
        FILE            *stream;
        char            *buf;
        size_t           sz, bsz;
@@ -90,8 +88,8 @@ manpath_parse(struct manpaths *dirs, const char *file,
        char            *insert;
 
        /* Always prepend -m. */
-       manpath_parseline(dirs, auxp);
+       manpath_parseline(dirs, auxp);
+
        /* If -M is given, it overrides everything else. */
        if (NULL != defp) {
                manpath_parseline(dirs, defp);
@@ -171,9 +169,8 @@ manpath_add(struct manpaths *dirs, const char *dir)
                if (0 == strcmp(dirs->paths[i], dir))
                        return;
 
-       dirs->paths = mandoc_realloc
-               (dirs->paths,
-                (dirs->sz + 1) * sizeof(char *));
+       dirs->paths = mandoc_reallocarray(dirs->paths,
+           dirs->sz + 1, sizeof(char *));
 
        dirs->paths[dirs->sz++] = mandoc_strdup(cp);
 }
@@ -211,7 +208,7 @@ manpath_manconf(struct manpaths *dirs, const char *file)
                if (strncmp(MAN_CONF_KEY, p, keysz))
                        continue;
                p += keysz;
-               while (isspace(*p))
+               while (isspace((unsigned char)*p))
                        p++;
                if ('\0' == *p)
                        continue;