aboutsummaryrefslogtreecommitdiff
path: root/coreutils/mkdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/mkdir.c')
-rw-r--r--coreutils/mkdir.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c
index 2cd178805..9ea3b4ea0 100644
--- a/coreutils/mkdir.c
+++ b/coreutils/mkdir.c
@@ -80,17 +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);
+ strcat( buf, "/");
+ createPath(buf, mode);
}
else {
- if (mkdir (*argv, mode) != 0) {
- perror(*argv);
+ if (mkdir (buf, mode) != 0) {
+ perror(buf);
exit( FALSE);
}
}