--- main.c.orig	Tue Oct 26 09:32:12 1999
+++ main.c	Tue Oct 26 09:34:46 1999
@@ -1144,8 +1144,15 @@
 #else
 	    static char name[] = "/tmp/GmXXXXXX";
 #endif
+#ifndef __OpenBSD__
 	    (void) mktemp (name);
 #else
+	    int ftmp;
+
+	    if ((ftmp = mkstemp (name)) < 0)
+	      pfatal_with_name ("mkstemp (temporary file)");
+#endif
+#else
 	    static char name[L_tmpnam];
 	    (void) tmpnam (name);
 #endif
@@ -1153,7 +1160,11 @@
             if (stdin_nm)
               fatal (NILF, _("Makefile from standard input specified twice."));
 
+#ifndef __OpenBSD__
 	    outfile = fopen (name, "w");
+#else
+	    outfile = fdopen (ftmp, "w");
+#endif
 	    if (outfile == 0)
 	      pfatal_with_name (_("fopen (temporary file)"));
 	    while (!feof (stdin))
