08a006d08a
'__' instead.
53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
--- 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) {
|