summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/makedevs/makedevs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/target/makedevs/makedevs.c b/target/makedevs/makedevs.c
index 8f4b192d1..8fa3048c4 100644
--- a/target/makedevs/makedevs.c
+++ b/target/makedevs/makedevs.c
@@ -31,8 +31,9 @@
#include <stdarg.h>
#include <sys/stat.h>
#include <sys/types.h>
+#ifndef __APPLE__
#include <sys/sysmacros.h> /* major() and minor() */
-
+#endif
const char *bb_applet_name;
@@ -146,7 +147,7 @@ int bb_make_directory (char *path, long mode, int flags)
if (mkdir(path, 0777) < 0) {
/* If we failed for any other reason than the directory
* already exists, output a diagnostic and return -1.*/
- if (errno != EEXIST
+ if ((errno != EEXIST && errno != EISDIR)
|| !(flags & FILEUTILS_RECUR)
|| (stat(path, &st) < 0 || !S_ISDIR(st.st_mode))) {
fail_msg = "create";