diff --git a/source/fs/mufs/dir.c b/source/fs/mufs/dir.c index 189ad5f..2114822 100644 --- a/source/fs/mufs/dir.c +++ b/source/fs/mufs/dir.c @@ -244,19 +244,24 @@ int mufs_mkdir(struct mufs *fs, const char *path) char *s; char *name; - if (!path) + if (!path || *path == '\0') return -1; /* TODO: already exists. */ if (resolve_path(fs, path)) return 0; + while (*path == '/') + ++path; + + printf("path=%s\n", path); + if (!(s = strdup(path))) return -1; if (!(name = strrchr(s, '/'))) { name = s; - s = NULL; + s = "/"; } else { *name++ = '\0'; }