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