implemented numeric sort (sort -g)
[oweals/busybox.git] / mkdir.c
diff --git a/mkdir.c b/mkdir.c
index 4c7ebed6a85d64cca90f02a9dd479792eb6db520..9ea3b4ea0905d96e8e8c3721e6ee8f26631c68b8 100644 (file)
--- a/mkdir.c
+++ b/mkdir.c
@@ -34,7 +34,7 @@ static const char mkdir_usage[] = "Usage: mkdir [OPTION] DIRECTORY...\n\n"
 
 
 static int parentFlag = FALSE;
-static mode_t mode = 777;
+static mode_t mode = 0777;
 
 
 extern int mkdir_main(int argc, char **argv)
@@ -80,16 +80,21 @@ extern int mkdir_main(int argc, char **argv)
     while (argc > 0) {
        int status;
        struct stat statBuf;
-       status=stat(*argv, &statBuf);
+       char buf[NAME_MAX];
+
+       strcpy (buf, *argv);
+       status=stat(buf, &statBuf);
        if (status != -1 && status != ENOENT ) {
-           fprintf(stderr, "%s: File exists\n", *argv);
+           fprintf(stderr, "%s: File exists\n", buf);
            exit( FALSE);
        }
-       if (parentFlag == TRUE)
-           createPath(*argv, mode);
+       if (parentFlag == TRUE) {
+           strcat( buf, "/");
+           createPath(buf, mode);
+       }
        else { 
-           if (mkdir (*argv, mode) != 0) {
-               perror(*argv);
+           if (mkdir (buf, mode) != 0) {
+               perror(buf);
                exit( FALSE);
            }
        }