diff --git a/main/mkdir_p.c b/main/mkdir_p.c index 93fbdf0..11b9de5 100644 --- a/main/mkdir_p.c +++ b/main/mkdir_p.c @@ -12,17 +12,17 @@ int mkdir_p(const char *path) size_t i, len; char *buffer; - while (*path == '/') + while (path[0] == '/' && path[1] == '/') ++path; - if (*path == '\0') + if (*path == '\0' || (path[0] == '/' && path[1] == '\0')) return 0; len = strlen(path) + 1; buffer = alloca(len); for (i = 0; i < len; ++i) { - if (path[i] == '/' || path[i] == '\0') { + if (i > 0 && (path[i] == '/' || path[i] == '\0')) { buffer[i] = '\0'; if (mkdir(buffer, 0755) != 0) {