summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauri Kasanen <cand@gmx.com>2020-04-15 15:01:44 +0300
committerDenys Vlasenko <vda.linux@googlemail.com>2020-04-29 14:37:21 +0200
commitb9943741c26e1e597edc142066f428540d1f1207 (patch)
tree913ce91cfc641c54593f04596294ebe6f8f6d7d1
parent9aa751b08ab03d6396f86c3df77937a19687981b (diff)
downloadbusybox-w32-b9943741c26e1e597edc142066f428540d1f1207.tar.gz
busybox-w32-b9943741c26e1e597edc142066f428540d1f1207.tar.bz2
busybox-w32-b9943741c26e1e597edc142066f428540d1f1207.zip
unzip: -d should create the dir
The official Info-Zip unzip creates the dir if it doesn't exist. Signed-off-by: Lauri Kasanen <cand@gmx.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--archival/unzip.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/archival/unzip.c b/archival/unzip.c
index 8c4cb9881..d94bbabcf 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -646,8 +646,14 @@ int unzip_main(int argc, char **argv)
646 } 646 }
647 647
648 /* Change dir if necessary */ 648 /* Change dir if necessary */
649 if (base_dir) 649 if (base_dir) {
650 /* -p DIR: try to create, errors don't matter.
651 * UnZip 6.00 does no multi-level mkdir (-p DIR1/DIR2 syntax),
652 * not using bb_make_directory() here (yet?)
653 */
654 mkdir(base_dir, 0777);
650 xchdir(base_dir); 655 xchdir(base_dir);
656 }
651 657
652 if (quiet <= 1) { /* not -qq */ 658 if (quiet <= 1) { /* not -qq */
653 if (quiet == 0) { 659 if (quiet == 0) {