wok diff busybox/stuff/busybox-1.12.0-cpio-mkdir.u @ rev 1466
netatalk: apply patch once
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Oct 04 09:46:54 2008 +0000 (2008-10-04) |
parents | |
children | d84c7ed6eeb4 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/busybox/stuff/busybox-1.12.0-cpio-mkdir.u Sat Oct 04 09:46:54 2008 +0000 1.3 @@ -0,0 +1,21 @@ 1.4 +--- busybox-1.12.0/archival/libunarchive/data_extract_all.c 1.5 ++++ busybox-1.12.0/archival/libunarchive/data_extract_all.c 1.6 +@@ -38,7 +38,8 @@ void FAST_FUNC data_extract_all(archive_ 1.7 + } 1.8 + } 1.9 + else if (statbuf.st_mtime <= file_header->mtime) { 1.10 +- if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)) { 1.11 ++ if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) && 1.12 ++ (file_header->mode & S_IFMT) != S_IFDIR) { 1.13 + bb_error_msg("%s not created: newer or " 1.14 + "same age file exists", file_header->name); 1.15 + } 1.16 +@@ -77,7 +78,7 @@ void FAST_FUNC data_extract_all(archive_ 1.17 + } 1.18 + case S_IFDIR: 1.19 + res = mkdir(file_header->name, file_header->mode); 1.20 +- if ((res == -1) && (errno != EISDIR) 1.21 ++ if ((res == -1) && (errno != EISDIR) && (errno != EEXIST) 1.22 + && !(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) 1.23 + ) { 1.24 + bb_perror_msg("cannot make dir %s", file_header->name);