summaryrefslogtreecommitdiff
path: root/devel/mk/files/patch-src__main.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/mk/files/patch-src__main.c')
-rw-r--r--devel/mk/files/patch-src__main.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/devel/mk/files/patch-src__main.c b/devel/mk/files/patch-src__main.c
new file mode 100644
index 000000000000..50c5214e98de
--- /dev/null
+++ b/devel/mk/files/patch-src__main.c
@@ -0,0 +1,53 @@
+--- src/main.c.orig Wed Jun 5 17:30:39 2002
++++ src/main.c Thu Jul 3 18:34:19 2003
+@@ -33,7 +33,7 @@
+ main(int argc, char **argv)
+ {
+ Word *w;
+- char *s, *temp;
++ char *s;
+ char *files[256], **f = files, **ff;
+ int sflag = 0;
+ int i;
+@@ -41,6 +41,8 @@
+ Biobuf tb;
+ Bufblock *buf;
+ Bufblock *whatif;
++ char TMPLATE[14];
++ (void)strncpy(TMPLATE,"/tmp/mk.XXXXX", sizeof(TMPLATE));
+
+ /*
+ * start with a copy of the current environment variables
+@@ -133,21 +135,15 @@
+ /*
+ assignment args become null strings
+ */
+- temp = 0;
+ for(i = 0; argv[i]; i++) if(utfrune(argv[i], '=')){
+ bufcpy(buf, argv[i], strlen(argv[i]));
+ insert(buf, ' ');
+ if(tfd < 0){
+- temp = maketmp();
+- if(temp == 0) {
+- perror("temp file");
+- Exit();
+- }
+- close(create(temp, OWRITE, 0600));
+- if((tfd = open(temp, 2)) < 0){
+- perror(temp);
++ if ((tfd = mkstemp(TMPLATE)) < 0){
++ perror(TMPLATE);
+ Exit();
+ }
++ unlink(TMPLATE);
+ Binit(&tb, tfd, OWRITE);
+ }
+ Bprint(&tb, "%s\n", argv[i]);
+@@ -157,7 +153,6 @@
+ Bflush(&tb);
+ LSEEK(tfd, 0L, 0);
+ parse("command line args", tfd, 1);
+- remove(temp);
+ }
+
+ if (buf->current != buf->start) {