Zip archive: Handle files within folders inside the zip

Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
Roopesh Chander 2018-11-03 15:37:31 +05:30
parent 4bcfdfa08e
commit ac79c5b1f7
1 changed files with 4 additions and 4 deletions

View File

@ -61,10 +61,10 @@ class ZipArchive {
throw ZipArchiveError.badArchive
}
let fileName = String(cString: fileNameBuffer)
let fileExtension = URL(string: fileName)?.pathExtension ?? ""
if let fileURL = URL(string: String(cString: fileNameBuffer)),
!fileURL.hasDirectoryPath,
requiredFileExtensions.contains(fileURL.pathExtension) {
if (requiredFileExtensions.contains(fileExtension)) {
var unzippedData = Data()
var bytesRead: Int32 = 0
repeat {
@ -77,7 +77,7 @@ class ZipArchive {
unzippedData.append(dataRead)
}
} while (bytesRead > 0)
results.append((fileName: fileName, contents: unzippedData))
results.append((fileName: fileURL.lastPathComponent, contents: unzippedData))
}
guard (unzCloseCurrentFile(zipFile) == UNZ_OK) else {