lib9: add mode parameter to opentemp

This commit is contained in:
Russ Cox 2008-07-10 11:10:10 -04:00
parent c224dda84e
commit a58a827f2a
9 changed files with 23 additions and 34 deletions

View file

@ -7,14 +7,11 @@
#include <libc.h>
#include <bio.h>
#define opentemp idiffopentemp
int diffbflag;
int diffwflag;
void copy(Biobuf*, char*, Biobuf*, char*);
void idiff(Biobuf*, char*, Biobuf*, char*, Biobuf*, char*, Biobuf*, char*);
int opentemp(char*, int, long);
void rundiff(char*, char*, int);
void
@ -63,9 +60,9 @@ main(int argc, char **argv)
sysfatal("open %s: %r", argv[1]);
strcpy(diffout, "/tmp/idiff.XXXXXX");
fd = opentemp(diffout, ORDWR|ORCLOSE, 0);
fd = opentemp(diffout, ORDWR|ORCLOSE);
strcpy(idiffout, "/tmp/idiff.XXXXXX");
ofd = opentemp(idiffout, ORDWR|ORCLOSE, 0);
ofd = opentemp(idiffout, ORDWR|ORCLOSE);
rundiff(argv[0], argv[1], fd);
seek(fd, 0, 0);
Binit(&bdiff, fd, OREAD);
@ -80,22 +77,6 @@ main(int argc, char **argv)
exits(nil);
}
int
opentemp(char *template, int mode, long perm)
{
int fd;
Dir d;
fd = mkstemp(template);
if(fd < 0)
sysfatal("could not create temporary file");
nulldir(&d);
d.mode = perm;
dirfwstat(fd, &d);
return fd;
}
void
rundiff(char *arg1, char *arg2, int outfd)
{

View file

@ -32,7 +32,7 @@ initfilt(Biobuf *b, int argc, char **argv, uchar *buf, int nbuf, char *type, cha
p[1] = open("/dev/null", ORDWR);
}
ofd = opentemp(template);
ofd = opentemp(template, ORDWR|ORCLOSE);
switch(fork()){
case -1:
fprint(2, "fork fails: %r\n");

View file

@ -96,7 +96,6 @@ int min(int, int);
void wexits(char*);
Image* xallocimage(Display*, Rectangle, ulong, int, ulong);
int bell(void*, char*);
int opentemp(char *template);
Image* convert(Graphic *g);
extern int stdinfd;

View file

@ -53,7 +53,7 @@ spooltodisk(uchar *ibuf, int in, char **name)
char temp[40];
strcpy(temp, "/tmp/pagespoolXXXXXXXXX");
fd = opentemp(temp);
fd = opentemp(temp, ORDWR|ORCLOSE);
if(name)
*name = estrdup(temp);

View file

@ -732,7 +732,7 @@ viewer(Document *dd)
}
if(showdata(pm)) {
s = estrdup("/tmp/pageplumbXXXXXXX");
fd = opentemp(s);
fd = opentemp(s, ORDWR|ORCLOSE);
write(fd, pm->data, pm->ndata);
/* lose fd reference on purpose; the file is open ORCLOSE */
} else if(pm->data[0] == '/') {

View file

@ -260,7 +260,7 @@ threadmain(int argc, char **argv)
if(tmpnam == nil)
sysfatal("smprint: %r");
if((fd = opentemp(tmpnam)) < 0)
if((fd = opentemp(tmpnam, ORDWR|ORCLOSE)) < 0)
sysfatal("opentemp %s: %r", tmpnam);
if(statustime)
print("# %T reading scores into %s\n", tmpnam);