aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/opentemp.c
blob: 0af154de255fc97f12a8adbb1a9e8198338efaad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <u.h>
#include <libc.h>

int
opentemp(char *template, int mode)
{
	int fd, fd1;

	fd = mkstemp(template);
	if(fd < 0)
		return -1;
	/* reopen for mode */
	fd1 = open(template, mode);
	if(fd1 < 0){
		close(fd);
		remove(template);
		return -1;
	}
	close(fd);
	return fd1;
}