$OpenBSD: patch-todos_c,v 1.1 2007/10/26 21:41:29 jasper Exp $
--- todos.c.orig	Tue Dec 22 00:50:00 1998
+++ todos.c	Fri Oct 26 23:40:11 2007
@@ -33,6 +33,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
+#include <unistd.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #if defined(__MSDOS__) || defined(__OS2__)
@@ -55,7 +56,6 @@ char inbuf[NEEDSIZ];
 char outbuf[NEEDSIZ];
 #endif
 
-extern char *mktemp();
 int RENAME(), decode();
 
 #include "alt2koi8.h"
@@ -63,6 +63,9 @@ int RENAME(), decode();
 #include "win2koi8.h"
 #include "koi82win.h"
 
+#ifdef HAVE_MKSTEMP
+int tmpfd;
+#endif
 char tmp_pat[] = "$1489_XXXXXX";
 char tmp_name[256], out_name[256];
 char **table;
@@ -251,10 +254,21 @@ usage:
 	}
 
 	sprintf(tmp_name, "%s%s%s", outdir, *outdir ? "/" : "", tmp_pat);
+#ifdef HAVE_MKSTEMP
+	if ((tmpfd = mkstemp(tmp_name)) < 0) {
+		perror(tmp_name);
+		return 1;
+	}
+	if ((fout = fdopen(tmpfd, WB)) == NULL) {
+		perror(tmp_name);
+		return 1;
+	}
+#else
 	if ((tmpn = mktemp(tmp_name)) == NULL) {
 		perror(tmp_name);
 		return 1;
 	}
+#endif
 
 	while (ac-- > 1) {
 		srcn = av[1];
@@ -267,10 +281,12 @@ usage:
 			perror(srcn);
 			goto usage;
 		}
+#ifndef HAVE_MKSTEMP
 		if ((fout = fopen(tmpn, WB)) == NULL) {
 			perror(tmpn);
 			return 1;
 		}
+#endif
 		if (*outdir) {
 			sprintf(out_name, "%s/%s", outdir, basename(srcn));
 			if (verbose)