=================================================================== RCS file: /cvs/mandoc/manpath.c,v retrieving revision 1.18 retrieving revision 1.20 diff -u -p -r1.18 -r1.20 --- mandoc/manpath.c 2014/11/18 19:41:47 1.18 +++ mandoc/manpath.c 2015/03/21 17:19:36 1.20 @@ -1,6 +1,6 @@ -/* $Id: manpath.c,v 1.18 2014/11/18 19:41:47 schwarze Exp $ */ +/* $Id: manpath.c,v 1.20 2015/03/21 17:19:36 schwarze Exp $ */ /* - * Copyright (c) 2011, 2014 Ingo Schwarze + * Copyright (c) 2011, 2014, 2015 Ingo Schwarze * Copyright (c) 2011 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any @@ -32,6 +32,7 @@ #define MAN_CONF_FILE "/etc/man.conf" #define MAN_CONF_KEY "_whatdb" +#define MANPATH_DEFAULT "/usr/share/man:/usr/X11R6/man:/usr/local/man" static void manpath_add(struct manpaths *, const char *, int); static void manpath_parseline(struct manpaths *, char *, int); @@ -80,12 +81,13 @@ manpath_parse(struct manpaths *dirs, const char *file, if ( ! ferror(stream) && feof(stream) && bsz && '\n' == buf[bsz - 1]) { buf[bsz - 1] = '\0'; - manpath_parseline(dirs, buf); + manpath_parseline(dirs, buf, 1); } free(buf); pclose(stream); #else + char manpath_default[] = MANPATH_DEFAULT; char *insert; /* Always prepend -m. */ @@ -105,6 +107,8 @@ manpath_parse(struct manpaths *dirs, const char *file, /* No MANPATH; use man.conf(5) only. */ if (NULL == defp || '\0' == defp[0]) { manpath_manconf(dirs, file); + if (dirs->sz == 0) + manpath_parseline(dirs, manpath_default, 0); return; }