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 f35a0486 2008-07-09 devnull opentemp(char *template, int mode)
6 498bb221 2004-03-21 devnull {
7 f35a0486 2008-07-09 devnull 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 f35a0486 2008-07-09 devnull /* reopen for mode */
13 f35a0486 2008-07-09 devnull fd1 = open(template, mode);
14 f35a0486 2008-07-09 devnull if(fd1 < 0){
15 f35a0486 2008-07-09 devnull close(fd);
16 f35a0486 2008-07-09 devnull remove(template);
17 f35a0486 2008-07-09 devnull return -1;
18 f35a0486 2008-07-09 devnull }
19 f35a0486 2008-07-09 devnull close(fd);
20 f35a0486 2008-07-09 devnull return fd1;
21 498bb221 2004-03-21 devnull }