From 9c4d6b4246e913d003afcf8d82bbeb3053796d8d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 4 Sep 2003 19:18:40 +0000 Subject: real fix for mkdir_p git-svn-id: file:///home/lennart/svn/public/syrep/trunk@28 07ea20a6-d2c5-0310-9e02-9ef735347d72 --- src/util.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/util.c b/src/util.c index 6002738..f2906b1 100644 --- a/src/util.c +++ b/src/util.c @@ -561,14 +561,17 @@ int mkdir_p(const char *path, mode_t m) { quit = 1; } - *e = 0; - if (mkdir(tmp, m) < 0) { - if (errno != EEXIST) { - fprintf(stderr, "XX mkdir(\"%s\"): %s\n", tmp, strerror(errno)); - return -1; + if (e != b) { + *e = 0; + + if (mkdir(tmp, m) < 0) { + if (errno != EEXIST) { + fprintf(stderr, "mkdir(\"%s\"): %s\n", tmp, strerror(errno)); + return -1; + } } + *e = '/'; } - *e = '/'; b = e+1; } -- cgit