X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..eae4e80fddb67ed353f32a54c9eeed1c1527e5a9:/sbr/makedir.c diff --git a/sbr/makedir.c b/sbr/makedir.c index 165fc4f0..04e5d779 100644 --- a/sbr/makedir.c +++ b/sbr/makedir.c @@ -10,6 +10,7 @@ */ #include +#include "makedir.h" #include int @@ -17,7 +18,6 @@ makedir (const char *dir) { char path[PATH_MAX]; char* folder_perms_ASCII; - int had_an_error = 0; mode_t folder_perms, saved_umask; char* c; @@ -42,17 +42,18 @@ makedir (const char *dir) c = strncpy(path, dir, sizeof(path)); + bool had_an_error = false; while (!had_an_error && (c = strchr((c + 1), '/')) != NULL) { - *c = (char)0; + *c = '\0'; if (access(path, X_OK)) { if (errno != ENOENT){ advise (dir, "unable to create directory"); - had_an_error = 1; + had_an_error = true; } /* Create an outer directory. */ if (mkdir(path, folder_perms)) { advise (dir, "unable to create directory"); - had_an_error = 1; + had_an_error = true; } } *c = '/'; @@ -63,7 +64,7 @@ makedir (const char *dir) asked to create. */ if (mkdir (dir, folder_perms) == -1) { advise (dir, "unable to create directory"); - had_an_error = 1; + had_an_error = true; } }