summaryrefslogtreecommitdiffstats
path: root/commands/mkdir.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-10-06 17:00:21 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-11-09 11:51:49 +0100
commitad011ff8771896d500ce1639810e988a7ff5f7a3 (patch)
tree5d7636f87a53a3d6931f8a43e180fae4ffca076f /commands/mkdir.c
parent988d795ca5173f23aa4a2bfd0c401d59eeac04a7 (diff)
downloadbarebox-ad011ff8771896d500ce1639810e988a7ff5f7a3.tar.gz
barebox-ad011ff8771896d500ce1639810e988a7ff5f7a3.tar.xz
mkdir command: do not fail with -p and directory already exists
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/mkdir.c')
-rw-r--r--commands/mkdir.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/commands/mkdir.c b/commands/mkdir.c
index b66795b6e2..45e7408cb6 100644
--- a/commands/mkdir.c
+++ b/commands/mkdir.c
@@ -45,10 +45,13 @@ static int do_mkdir(struct command *cmdtp, int argc, char *argv[])
return COMMAND_ERROR_USAGE;
while (optind < argc) {
- if (parent)
+ if (parent) {
ret = make_directory(argv[optind]);
- else
+ if (ret == -EEXIST)
+ ret = 0;
+ } else {
ret = mkdir(argv[optind], 0);
+ }
if (ret) {
printf("could not create %s: %s\n", argv[optind], errno_str());
return 1;