ref: f62ce2d74a22aa44f665f3769cf3d4e6d183aa33
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;
}