78 lines
1.8 KiB
Text
78 lines
1.8 KiB
Text
$NetBSD: patch-ad,v 1.2 2005/06/19 20:44:06 minskim Exp $
|
|
|
|
--- main.c.orig 2001-04-02 08:57:20.000000000 -0500
|
|
+++ main.c
|
|
@@ -1,7 +1,6 @@
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
-#include <malloc.h>
|
|
|
|
#ifndef MSW /*rwj -- make portable*/
|
|
#include <signal.h>
|
|
@@ -324,9 +323,11 @@ char *tmpdir;
|
|
text_file_name[len + 5] = 't';
|
|
union_file_name[len + 5] = 'u';
|
|
|
|
+#ifdef WITHOUT_MKSTEMP
|
|
mktemp(action_file_name);
|
|
mktemp(text_file_name);
|
|
mktemp(union_file_name);
|
|
+#endif
|
|
|
|
if (jflag)/*rwj*/
|
|
{
|
|
@@ -380,6 +381,9 @@ char *tmpdir;
|
|
|
|
void open_files(void)
|
|
{
|
|
+#ifndef WITHOUT_MKSTEMP
|
|
+ int fd;
|
|
+#endif
|
|
create_file_names();
|
|
|
|
if (input_file == 0)
|
|
@@ -389,11 +393,25 @@ void open_files(void)
|
|
open_error(input_file_name);
|
|
}
|
|
|
|
- action_file = fopen(action_file_name, "w");
|
|
+#ifdef WITHOUT_MKSTEMP
|
|
+ action_file = fopen(action_file_name, "w+");
|
|
+#else
|
|
+ action_file = NULL;
|
|
+ fd = mkstemp(action_file_name);
|
|
+ if (fd >= 0)
|
|
+ action_file = fdopen(fd, "w");
|
|
+#endif
|
|
if (action_file == 0)
|
|
open_error(action_file_name);
|
|
|
|
- text_file = fopen(text_file_name, "w");
|
|
+#ifdef WITHOUT_MKSTEMP
|
|
+ text_file = fopen(text_file_name, "w+");
|
|
+#else
|
|
+ text_file = NULL;
|
|
+ fd = mkstemp(text_file_name);
|
|
+ if (fd >= 0)
|
|
+ action_file = fdopen(fd, "w");
|
|
+#endif
|
|
if (text_file == 0)
|
|
open_error(text_file_name);
|
|
|
|
@@ -409,7 +427,14 @@ void open_files(void)
|
|
defines_file = fopen(defines_file_name, "w");
|
|
if (defines_file == 0)
|
|
open_error(defines_file_name);
|
|
- union_file = fopen(union_file_name, "w");
|
|
+#ifdef WITHOUT_MKSTEMP
|
|
+ union_file = fopen(union_file_name, "w+");
|
|
+#else
|
|
+ union_file = NULL;
|
|
+ fd = mkstemp(union_file_name);
|
|
+ if (fd >= 0)
|
|
+ union_file = fdopen(fd, "w");
|
|
+#endif
|
|
if (union_file == 0)
|
|
open_error(union_file_name);
|
|
}
|