diff options
Diffstat (limited to 'tar.c')
-rw-r--r-- | tar.c | 10 |
1 files changed, 1 insertions, 9 deletions
@@ -399,16 +399,8 @@ tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag) | |||
399 | if (extractFlag==FALSE || tostdoutFlag==TRUE) | 399 | if (extractFlag==FALSE || tostdoutFlag==TRUE) |
400 | return( TRUE); | 400 | return( TRUE); |
401 | 401 | ||
402 | if (make_directory(header->name, header->mode, FILEUTILS_RECUR) < 0) { | 402 | if (make_directory(header->name, header->mode, FILEUTILS_RECUR) < 0) |
403 | return( FALSE); | 403 | return( FALSE); |
404 | } | ||
405 | /* make the final component, just in case it was | ||
406 | * omitted by make_directory() (which will skip the | ||
407 | * directory if it doesn't have a terminating '/') */ | ||
408 | if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) { | ||
409 | perror_msg("%s", header->name); | ||
410 | return FALSE; | ||
411 | } | ||
412 | 404 | ||
413 | fixUpPermissions(header); | 405 | fixUpPermissions(header); |
414 | return( TRUE); | 406 | return( TRUE); |