             else { throw TarError.wrongHeaderChecksum }
 
         // File type
-        // TODO: Don't convert to String.
         let fileTypeIndicator = pointerData.byte()
         self.isGlobalExtendedHeader = fileTypeIndicator == 103 // "g"
         self.isLocalExtendedHeader = fileTypeIndicator == 120 // "x"

    public let name: String?

    /// Size of the data associated with the entry.
    public private(set) var size: Int?

    public let type: ContainerEntryType


        // File mode
        guard let octalPosixAttributes = Int(try pointerData.nullSpaceEndedAsciiString(cutoff: 8))
            else { throw TarError.fieldIsNotNumber }
        // Sometimes file mode also contains unix type, so we need to filter it out.
        let posixAttributes = UInt32(truncatingIfNeeded: octalPosixAttributes.octalToDecimal())
        permissions = Permissions(rawValue: posixAttributes & 0xFFF)
        unixType = UnixType(rawValue: posixAttributes & 0xF000)
