Update to 1.4

Use mkstemp() instead of tmpnam()

Submitted by:	Volker Stolz <stolz@i2.informatik.rwth-aachen.de>
PR:		54012
This commit is contained in:
Sergey A. Osokin 2003-07-14 15:09:01 +00:00
parent eb804289ca
commit 01187e677f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=84881
4 changed files with 73 additions and 2 deletions

View File

@ -6,7 +6,7 @@
#
PORTNAME= mk
PORTVERSION= 1.3
PORTVERSION= 1.4
CATEGORIES= devel
MASTER_SITES= http://www.cminusminus.org/download/

View File

@ -1 +1 @@
MD5 (mk-1.3.tar.gz) = b8c5b1beadecfb9a0330c27db8f14f44
MD5 (mk-1.4.tar.gz) = a7ce754eee8b5125209cdbd68cf3a4ce

View File

@ -0,0 +1,18 @@
--- src/Posix.c.orig Thu Jul 3 16:08:16 2003
+++ src/Posix.c Thu Jul 3 16:08:31 2003
@@ -276,14 +276,6 @@
signal(sigmsgs[i].sig, notifyf);
}
-char*
-maketmp(void)
-{
- static char temp[L_tmpnam];
-
- return tmpnam(temp);
-}
-
int
chgtime(char *name)
{

View File

@ -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) {