mirror of
https://github.com/tsolomko/SWCompression.git
synced 2026-06-23 14:56:41 +00:00
Add two proeprties to TarEntryInfo which indicate if it is an extended header
This commit is contained in:
@@ -80,12 +80,11 @@ public class TarContainer: Container {
|
||||
|
||||
let entry = TarEntry(info, data)
|
||||
|
||||
switch info.tarType {
|
||||
case .globalExtendedHeader:
|
||||
if info.isGlobalExtendedHeader {
|
||||
lastGlobalExtendedHeader = String(data: entry.data!, encoding: .utf8)
|
||||
case .localExtendedHeader:
|
||||
} else if info.isLocalExtendedHeader {
|
||||
lastLocalExtendedHeader = String(data: entry.data!, encoding: .utf8)
|
||||
default:
|
||||
} else {
|
||||
output.append(entry)
|
||||
lastLocalExtendedHeader = nil
|
||||
longName = nil
|
||||
|
||||
@@ -123,6 +123,9 @@ public class TarEntryInfo: ContainerEntryInfo {
|
||||
private let gnuLongName: String?
|
||||
private let gnuLongLinkName: String?
|
||||
|
||||
let isGlobalExtendedHeader: Bool
|
||||
let isLocalExtendedHeader: Bool
|
||||
|
||||
let blockStartIndex: Int
|
||||
|
||||
init(_ pointerData: DataWithPointer, _ globalExtendedHeader: String?, _ localExtendedHeader: String?,
|
||||
@@ -220,6 +223,8 @@ public class TarEntryInfo: ContainerEntryInfo {
|
||||
default:
|
||||
attributesDict[FileAttributeKey.type] = FileAttributeType.typeUnknown
|
||||
}
|
||||
self.isGlobalExtendedHeader = fileTypeIndicator == "g"
|
||||
self.isLocalExtendedHeader = fileTypeIndicator == "x"
|
||||
|
||||
// Linked file name
|
||||
linkedFileName = try pointerData.nullEndedAsciiString(cutoff: 100)
|
||||
|
||||
Reference in New Issue
Block a user