diff options
-rw-r--r-- | rbutil/rbutilqt/base/ziputil.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/ziputil.cpp b/rbutil/rbutilqt/base/ziputil.cpp index d70cf8c9b3..ca921eb708 100644 --- a/rbutil/rbutilqt/base/ziputil.cpp +++ b/rbutil/rbutilqt/base/ziputil.cpp | |||
@@ -100,6 +100,12 @@ bool ZipUtil::extractArchive(QString& dest, QString file) | |||
100 | // if the entry is a path ignore it. Path existence is ensured separately. | 100 | // if the entry is a path ignore it. Path existence is ensured separately. |
101 | if(m_zip->getCurrentFileName().split("/").last() == "") | 101 | if(m_zip->getCurrentFileName().split("/").last() == "") |
102 | continue; | 102 | continue; |
103 | // some tools set the MS-DOS file attributes. Check those for D flag, | ||
104 | // since in some cases a folder entry does not end with a / | ||
105 | QuaZipFileInfo fi; | ||
106 | currentFile->getFileInfo(&fi); | ||
107 | if(fi.externalAttr & 0x10) // FAT entry bit 4 indicating directory | ||
108 | continue; | ||
103 | 109 | ||
104 | QString outfilename; | 110 | QString outfilename; |
105 | if(!singleoutfile.isEmpty() | 111 | if(!singleoutfile.isEmpty() |