summaryrefslogtreecommitdiff
path: root/textproc/biblook/patches/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/biblook/patches/patch-ac')
-rw-r--r--textproc/biblook/patches/patch-ac56
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');
+ }
+ }