mirror of
https://github.com/tsolomko/SWCompression.git
synced 2026-06-23 14:56:41 +00:00
Directories from TAR and ZIP now have nil for their data
This commit is contained in:
@@ -26,11 +26,15 @@ public class TarContainer: Container {
|
||||
let infos = try info(container: data)
|
||||
var entries = [TarEntry]()
|
||||
|
||||
for infoEntry in infos {
|
||||
let dataStartIndex = infoEntry.blockStartIndex + 512
|
||||
let dataEndIndex = dataStartIndex + infoEntry.size!
|
||||
let entryData = data[dataStartIndex..<dataEndIndex]
|
||||
entries.append(TarEntry(infoEntry, entryData))
|
||||
for entryInfo in infos {
|
||||
if entryInfo.type == .directory {
|
||||
entries.append(TarEntry(entryInfo, nil))
|
||||
} else {
|
||||
let dataStartIndex = entryInfo.blockStartIndex + 512
|
||||
let dataEndIndex = dataStartIndex + entryInfo.size!
|
||||
let entryData = data[dataStartIndex..<dataEndIndex]
|
||||
entries.append(TarEntry(entryInfo, entryData))
|
||||
}
|
||||
}
|
||||
|
||||
return entries
|
||||
|
||||
@@ -28,9 +28,13 @@ public class ZipContainer: Container {
|
||||
let infos = try info(container: data)
|
||||
var entries = [ZipEntry]()
|
||||
|
||||
for infoEntry in infos {
|
||||
let entryData = try ZipContainer.getEntryData(from: data, using: infoEntry)
|
||||
entries.append(ZipEntry(infoEntry, entryData))
|
||||
for entryInfo in infos {
|
||||
if entryInfo.type == .directory {
|
||||
entries.append(ZipEntry(entryInfo, nil))
|
||||
} else {
|
||||
let entryData = try ZipContainer.getEntryData(from: data, using: entryInfo)
|
||||
entries.append(ZipEntry(entryInfo, entryData))
|
||||
}
|
||||
}
|
||||
|
||||
return entries
|
||||
|
||||
Reference in New Issue
Block a user