diff options
Diffstat (limited to 'textproc/biblook/patches/patch-ac')
-rw-r--r-- | textproc/biblook/patches/patch-ac | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/textproc/biblook/patches/patch-ac b/textproc/biblook/patches/patch-ac new file mode 100644 index 00000000000..930838ffe81 --- /dev/null +++ b/textproc/biblook/patches/patch-ac @@ -0,0 +1,56 @@ +$NetBSD: patch-ac,v 1.1.1.1 2001/05/31 10:54:22 agc Exp $ + +Use mkstemp() in preference to tempnam(). +Note use of snprintf(), as not all platforms have strlcpy(). + +--- biblook.c 2001/05/31 08:55:19 1.1 ++++ biblook.c 2001/05/31 09:02:25 +@@ -1276,6 +1276,8 @@ + putc('\n', ofp); + } + ++#include <sys/param.h> ++ + /* ----------------------------------------------------------------- *\ + | void PrintResults(char *filename) + | +@@ -1288,6 +1290,9 @@ + FILE *ofp; + char *pager; + char *the_tmpfile = (char*)NULL; ++#if (defined(BSD) && BSD >= 199306) ++ char f[MAXPATHLEN]; ++#endif + #if unix + int childpid; + #else +@@ -1315,8 +1320,19 @@ + } + else + { ++#if (defined(BSD) && BSD >= 199306) ++ int fd; ++ ++ (void) snprintf(f, sizeof(f), "/tmp/bibl.XXXXXX"); ++ if ((fd = mkstemp(f)) < 0) { ++ perror("\tCan't open temp file"); ++ return; ++ } ++ ofp = fdopen(fd, "w"); ++#else + the_tmpfile = (char*)tempnam(NULL, "bibl."); + ofp = fopen(the_tmpfile, "w"); ++#endif + if (!ofp) + { + perror("\tCan't open temp file"); +@@ -1386,7 +1402,9 @@ + #endif + + unlink(the_tmpfile); ++#if !(defined(BSD) && BSD >= 199306) + free(the_tmpfile); /* malloc'ed by tempnam() */ ++#endif + putchar('\n'); + } + } |