From f30626111994c0a5a4b886f52de1f62bfc52de3c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 14 Mar 2012 10:43:54 +0100 Subject: lib/util: do an early return on error directory_create_or_exist() metze --- lib/util/util.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'lib') diff --git a/lib/util/util.c b/lib/util/util.c index 1a5c9a196b..54237c57d8 100644 --- a/lib/util/util.c +++ b/lib/util/util.c @@ -150,22 +150,22 @@ _PUBLIC_ bool directory_create_or_exist(const char *dname, uid_t uid, old_umask = umask(0); if (lstat(dname, &st) == -1) { - if (errno == ENOENT) { - /* Create directory */ - if (mkdir(dname, dir_perms) == -1) { - DEBUG(0, ("mkdir failed on directory " - "%s: %s\n", dname, - strerror(errno))); - umask(old_umask); - return false; - } - } else { + if (errno != ENOENT) { DEBUG(0, ("lstat failed on directory %s: %s\n", dname, strerror(errno))); umask(old_umask); return false; } + /* Create directory */ + if (mkdir(dname, dir_perms) == -1) { + DEBUG(0, ("mkdir failed on directory " + "%s: %s\n", dname, + strerror(errno))); + umask(old_umask); + return false; + } + return true; } -- cgit