diff --git a/Sources/TAR/TarReader.swift b/Sources/TAR/TarReader.swift index 9c0a94fa..d347734c 100644 --- a/Sources/TAR/TarReader.swift +++ b/Sources/TAR/TarReader.swift @@ -146,45 +146,33 @@ public struct TarReader { } private func getOffset() throws -> UInt64 { - #if compiler(<5.2) + if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { + return try handle.offset() + } else { return handle.offsetInFile - #else - if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { - return try handle.offset() - } else { - return handle.offsetInFile - } - #endif + } } private func set(offset: UInt64) throws { - #if compiler(<5.2) + if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { + try handle.seek(toOffset: offset) + } else { handle.seek(toFileOffset: offset) - #else - if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { - try handle.seek(toOffset: offset) - } else { - handle.seek(toFileOffset: offset) - } - #endif + } } private func getData(size: Int) throws -> Data { assert(size >= 0, "TarReader.getData(size:): negative size.") guard size > 0 else { return Data() } - #if compiler(<5.2) + if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { + guard let chunkData = try handle.read(upToCount: size) + else { throw DataError.truncated } + return chunkData + } else { + // Technically, this can throw NSException, but since it is ObjC exception we cannot handle it in Swift. return handle.readData(ofLength: size) - #else - if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { - guard let chunkData = try handle.read(upToCount: size) - else { throw DataError.truncated } - return chunkData - } else { - // Technically, this can throw NSException, but since it is ObjC exception we cannot handle it in Swift. - return handle.readData(ofLength: size) - } - #endif + } } } diff --git a/Sources/TAR/TarWriter.swift b/Sources/TAR/TarWriter.swift index 0df8350f..c441a6c5 100644 --- a/Sources/TAR/TarWriter.swift +++ b/Sources/TAR/TarWriter.swift @@ -133,18 +133,13 @@ public struct TarWriter { } private func write(_ data: Data) throws { - #if compiler(<5.2) + if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { + try handle.write(contentsOf: data) + try handle.synchronize() + } else { handle.write(data) handle.synchronizeFile() - #else - if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { - try handle.write(contentsOf: data) - try handle.synchronize() - } else { - handle.write(data) - handle.synchronizeFile() - } - #endif + } } } diff --git a/Tests/FileHandle+CloseCompat.swift b/Tests/FileHandle+CloseCompat.swift index b222c387..43fb0722 100644 --- a/Tests/FileHandle+CloseCompat.swift +++ b/Tests/FileHandle+CloseCompat.swift @@ -8,15 +8,11 @@ import Foundation extension FileHandle { func closeCompat() throws { - #if compiler(<5.2) + if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { + try self.close() + } else { self.closeFile() - #else - if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) { - try self.close() - } else { - self.closeFile() - } - #endif + } } }