=================================================================== RCS file: /cvs/mandoc/Attic/manpage.c,v retrieving revision 1.3 retrieving revision 1.5 diff -u -p -r1.3 -r1.5 --- mandoc/Attic/manpage.c 2012/06/09 17:49:13 1.3 +++ mandoc/Attic/manpage.c 2013/12/27 18:51:25 1.5 @@ -1,4 +1,4 @@ -/* $Id: manpage.c,v 1.3 2012/06/09 17:49:13 kristaps Exp $ */ +/* $Id: manpage.c,v 1.5 2013/12/27 18:51:25 schwarze Exp $ */ /* * Copyright (c) 2012 Kristaps Dzonsons * @@ -17,10 +17,10 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include #include #include +#include #include #include #include @@ -40,7 +40,7 @@ main(int argc, char *argv[]) struct mansearch search; struct manpage *res; char *conf_file, *defpaths, *auxpaths, *cp; - char buf[MAXPATHLEN]; + char buf[PATH_MAX]; const char *cmd; struct manpaths paths; char *progname; @@ -106,11 +106,14 @@ main(int argc, char *argv[]) for (i = 0; i < sz; i++) { printf("%6zu %s: %s\n", - i + 1, res[i].file, res[i].desc); + i + 1, res[i].names, res[i].desc); + free(res[i].names); free(res[i].desc); } if (0 == term) { + for (i = 0; i < sz; i++) + free(res[i].file); free(res); return(EXIT_SUCCESS); } @@ -127,12 +130,16 @@ main(int argc, char *argv[]) } if (0 == i) { + for (i = 0; i < sz; i++) + free(res[i].file); free(res); return(EXIT_SUCCESS); } show: cmd = res[i - 1].form ? "mandoc" : "cat"; - strlcpy(buf, res[i - 1].file, MAXPATHLEN); + strlcpy(buf, res[i - 1].file, PATH_MAX); + for (i = 0; i < sz; i++) + free(res[i].file); free(res); show(cmd, buf);