blob: 384d7fcf772d1e3238aab236883f558a33e5b1f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <u.h>
#include <libc.h>
char*
mktemp(char *as)
{
char *s;
unsigned pid;
int i;
char err[ERRMAX];
pid = getpid();
s = as;
while(*s++)
;
s--;
while(*--s == 'X') {
*s = pid % 10 + '0';
pid = pid/10;
}
s++;
i = 'a';
while(access(as, 0) != -1) {
if (i == 'z')
return "/";
*s = i++;
}
err[0] = '\0';
errstr(err, sizeof err); /* clear the error */
return as;
}
|