getnameinfo: make size check not fail for bigger sizes
[musl.git] / src / temp / mkdtemp.c
blob6c2c16ef2e8027e4f30a3d90be1c79f3502c73f9
1 #include <string.h>
2 #include <stdlib.h>
3 #include <errno.h>
4 #include <sys/stat.h>
6 char *__randname(char *);
8 char *mkdtemp(char *template)
10 size_t l = strlen(template);
11 int retries = 100;
13 if (l<6 || memcmp(template+l-6, "XXXXXX", 6)) {
14 errno = EINVAL;
15 return 0;
18 do {
19 __randname(template+l-6);
20 if (!mkdir(template, 0700)) return template;
21 } while (--retries && errno == EEXIST);
23 memcpy(template+l-6, "XXXXXX", 6);
24 return 0;