#include #include #include #include #include #include #include #include "libc.h" char *__mktemp(char *); int mkstemp(char *template) { int fd; retry: if (!__mktemp(template)) return -1; fd = open(template, O_RDWR | O_CREAT | O_EXCL, 0600); if (fd >= 0) return fd; if (errno == EEXIST) { /* this is safe because mktemp verified * that we have a valid template string */ strcpy(template+strlen(template)-6, "XXXXXX"); goto retry; } return -1; } LFS64(mkstemp);