]> diplodocus.org Git - nmh/blobdiff - sbr/makedir.c
Display the command when reporting timing.
[nmh] / sbr / makedir.c
index 562949bebafb249f83d80545a8d9547475db2594..04e5d779f7ae1da40c3d3b3557bb2134e371e5a4 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * makedir.c -- make a directory
+/* makedir.c -- make a directory
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  */
 
 #include <h/mh.h>
+#include "makedir.h"
 #include <sys/file.h>
 
 int
-makedir (char *dir)
+makedir (const char *dir)
 {
     char            path[PATH_MAX];
     char*           folder_perms_ASCII;
-    int             had_an_error = 0;
     mode_t          folder_perms, saved_umask;
-    register char*  c;
+    char*  c;
 
     context_save();     /* save the context file */
     fflush(stdout);
@@ -44,17 +42,18 @@ makedir (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 = '/';
@@ -65,7 +64,7 @@ makedir (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;
         }
     }
 
@@ -73,6 +72,5 @@ makedir (char *dir)
 
     if (had_an_error)
         return 0;  /* opposite of UNIX error return convention */
-    else
-        return 1;
+    return 1;
 }