aboutsummaryrefslogtreecommitdiff
path: root/mkdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'mkdir.c')
-rw-r--r--mkdir.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/mkdir.c b/mkdir.c
index 2cd178805..9ea3b4ea0 100644
--- a/mkdir.c
+++ b/mkdir.c
@@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv)
80 while (argc > 0) { 80 while (argc > 0) {
81 int status; 81 int status;
82 struct stat statBuf; 82 struct stat statBuf;
83 status=stat(*argv, &statBuf); 83 char buf[NAME_MAX];
84
85 strcpy (buf, *argv);
86 status=stat(buf, &statBuf);
84 if (status != -1 && status != ENOENT ) { 87 if (status != -1 && status != ENOENT ) {
85 fprintf(stderr, "%s: File exists\n", *argv); 88 fprintf(stderr, "%s: File exists\n", buf);
86 exit( FALSE); 89 exit( FALSE);
87 } 90 }
88 if (parentFlag == TRUE) { 91 if (parentFlag == TRUE) {
89 createPath(*argv, mode); 92 strcat( buf, "/");
93 createPath(buf, mode);
90 } 94 }
91 else { 95 else {
92 if (mkdir (*argv, mode) != 0) { 96 if (mkdir (buf, mode) != 0) {
93 perror(*argv); 97 perror(buf);
94 exit( FALSE); 98 exit( FALSE);
95 } 99 }
96 } 100 }