From 4b32efb0f13060b1769d65a16a952b9b02b873a7 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sat, 14 Jun 2003 20:22:02 +0300 Subject: [PATCH] Check for EISDIR error as well. Fixed problems with BSD/OS. --HG-- branch : HEAD --- src/lib/mkdir-parents.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/mkdir-parents.c b/src/lib/mkdir-parents.c index 4f018a1740..281cb79953 100644 --- a/src/lib/mkdir-parents.c +++ b/src/lib/mkdir-parents.c @@ -9,7 +9,9 @@ int mkdir_parents(const char *path, mode_t mode) { const char *p; - if (mkdir(path, mode) < 0 && errno != EEXIST) { + /* EISDIR check is for BSD/OS which returns it if path contains '/' + at the end and it exists. */ + if (mkdir(path, mode) < 0 && errno != EEXIST && errno != EISDIR) { if (errno != ENOENT) return -1; -- 2.47.3