summaryrefslogtreecommitdiff
path: root/archival/tar.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/tar.c')
-rw-r--r--archival/tar.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 87b5d21..8f802de 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -596,6 +596,12 @@ readHeader(const TarHeader * hp, int fileCount, char **fileTable)
*/
if (S_ISDIR(mode)) {
if (createPath(outName, mode) == TRUE) {
+ /* make the final component, just in case it was
+ * omitted by createPath() (which will skip the
+ * directory if it doesn't have a terminating '/')
+ */
+ mkdir(outName, mode);
+
/* Set the file time */
utb.actime = mtime;
utb.modtime = mtime;