ref: 2dea7c2f8e55b4de0c79448c3ce03351a8f75e3b
dir: /sys/src/ape/lib/ap/gen/mkstemp.c/
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
int
mkstemp(char *template)
{
char *s;
int i, fd;
s = strdup(template);
if(s == NULL)
return -1;
for(i=0; i<20; i++){
strcpy(s, template);
mktemp(s);
if((fd = open(s, O_RDWR | O_CREAT | O_EXCL, 0600)) >= 0){
strcpy(template, s);
free(s);
return fd;
}
}
free(s);
return -1;
}