]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Check for EISDIR error as well. Fixed problems with BSD/OS.
authorTimo Sirainen <tss@iki.fi>
Sat, 14 Jun 2003 17:22:02 +0000 (20:22 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 14 Jun 2003 17:22:02 +0000 (20:22 +0300)
--HG--
branch : HEAD

src/lib/mkdir-parents.c

index 4f018a17403a8a0860c6c50a5b4a3c3521709cbe..281cb79953760d09e63dfbd295cd1cd10b5cb00b 100644 (file)
@@ -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;