summaryrefslogtreecommitdiff
path: root/archival/unzip.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/unzip.c')
-rw-r--r--archival/unzip.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/archival/unzip.c b/archival/unzip.c
index 8c4cb98..d94bbab 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -646,8 +646,14 @@ int unzip_main(int argc, char **argv)
}
/* Change dir if necessary */
- if (base_dir)
+ if (base_dir) {
+ /* -p DIR: try to create, errors don't matter.
+ * UnZip 6.00 does no multi-level mkdir (-p DIR1/DIR2 syntax),
+ * not using bb_make_directory() here (yet?)
+ */
+ mkdir(base_dir, 0777);
xchdir(base_dir);
+ }
if (quiet <= 1) { /* not -qq */
if (quiet == 0) {