From: Timo Sirainen Date: Sat, 14 Jun 2003 17:22:02 +0000 (+0300) Subject: Check for EISDIR error as well. Fixed problems with BSD/OS. X-Git-Tag: 1.1.alpha1~4561 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b32efb0f13060b1769d65a16a952b9b02b873a7;p=thirdparty%2Fdovecot%2Fcore.git Check for EISDIR error as well. Fixed problems with BSD/OS. --HG-- branch : HEAD --- 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;