13e12c5d1SDavid du Colombier #include <u.h> 23e12c5d1SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier 43e12c5d1SDavid du Colombier char* mktemp(char * as)53e12c5d1SDavid du Colombiermktemp(char *as) 63e12c5d1SDavid du Colombier { 73e12c5d1SDavid du Colombier char *s; 83e12c5d1SDavid du Colombier unsigned pid; 93e12c5d1SDavid du Colombier int i; 10*9a747e4fSDavid du Colombier char err[ERRMAX]; 113e12c5d1SDavid du Colombier 123e12c5d1SDavid du Colombier pid = getpid(); 133e12c5d1SDavid du Colombier s = as; 143e12c5d1SDavid du Colombier while(*s++) 153e12c5d1SDavid du Colombier ; 163e12c5d1SDavid du Colombier s--; 173e12c5d1SDavid du Colombier while(*--s == 'X') { 183e12c5d1SDavid du Colombier *s = pid % 10 + '0'; 193e12c5d1SDavid du Colombier pid = pid/10; 203e12c5d1SDavid du Colombier } 213e12c5d1SDavid du Colombier s++; 223e12c5d1SDavid du Colombier i = 'a'; 233e12c5d1SDavid du Colombier while(access(as, 0) != -1) { 243e12c5d1SDavid du Colombier if (i == 'z') 253e12c5d1SDavid du Colombier return "/"; 263e12c5d1SDavid du Colombier *s = i++; 273e12c5d1SDavid du Colombier } 28*9a747e4fSDavid du Colombier err[0] = '\0'; 29*9a747e4fSDavid du Colombier errstr(err, sizeof err); /* clear the error */ 303e12c5d1SDavid du Colombier return as; 313e12c5d1SDavid du Colombier } 32