ref: bc7d74f09b53c39ada4e73ce73c01c6c0928f9f4
dir: /sys/src/libc/port/mktemp.c/
#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;
}