Blame


1 498bb221 2004-03-21 devnull #include <u.h>
2 498bb221 2004-03-21 devnull #include <libc.h>
3 498bb221 2004-03-21 devnull
4 498bb221 2004-03-21 devnull int
5 a58a827f 2008-07-10 rsc opentemp(char *template, int mode)
6 498bb221 2004-03-21 devnull {
7 a58a827f 2008-07-10 rsc int fd, fd1;
8 3f23048f 2004-06-17 devnull
9 3f23048f 2004-06-17 devnull fd = mkstemp(template);
10 3f23048f 2004-06-17 devnull if(fd < 0)
11 3f23048f 2004-06-17 devnull return -1;
12 a58a827f 2008-07-10 rsc if((fd1 = open(template, mode)) < 0){
13 a58a827f 2008-07-10 rsc remove(template);
14 a58a827f 2008-07-10 rsc close(fd);
15 a58a827f 2008-07-10 rsc return -1;
16 a58a827f 2008-07-10 rsc }
17 a58a827f 2008-07-10 rsc close(fd);
18 a58a827f 2008-07-10 rsc return fd1;
19 498bb221 2004-03-21 devnull }