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