Implemented mkstemp method in stdlib.
@@ -382,6 +382,17 @@ char* mktemp(char* pattern)
return pattern;
}
+int mkstemp(char* pattern)
+{
+ char* path = mktemp(pattern);
+
+ int fd = open(path, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); // I'm using the flags I saw glibc using.
+ if (fd >= 0)
+ return fd;
+ return -1;
+}
char* mkdtemp(char* pattern)
{
int length = strlen(pattern);
@@ -41,6 +41,7 @@ long labs(long);
double atof(const char*);
int system(const char* command);
char* mktemp(char*);
+int mkstemp(char*);
char* mkdtemp(char*);
void* bsearch(const void* key, const void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
size_t mbstowcs(wchar_t*, const char*, size_t);