mirror of
https://github.com/tsolomko/SWCompression.git
synced 2026-06-23 14:56:41 +00:00
Fix linux compatibility issues in Zip
Swift on Linux requires explicitly include CoreFoundation; there are some problems with CFStringEncodings enum and you have to use raw constants; CFStringEncoding is different type than raw constant of encoding number.
This commit is contained in:
+11
-2
@@ -5,10 +5,19 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
#if os(Linux)
|
||||
import CoreFoundation
|
||||
#endif
|
||||
|
||||
class ZipCommon {
|
||||
|
||||
static let cp437Encoding = CFStringEncoding(CFStringEncodings.dosLatinUS.rawValue)
|
||||
static let cp437Available = CFStringIsEncodingAvailable(cp437Encoding)
|
||||
#if os(Linux)
|
||||
static let cp437Encoding: CFStringEncoding = UInt32(truncatingBitPattern: UInt(kCFStringEncodingDOSLatinUS))
|
||||
static let cp437Available: Bool = CFStringIsEncodingAvailable(cp437Encoding)
|
||||
#else
|
||||
static let cp437Encoding = CFStringEncoding(CFStringEncodings.dosLatinUS.rawValue)
|
||||
static let cp437Available = CFStringIsEncodingAvailable(cp437Encoding)
|
||||
#endif
|
||||
|
||||
static func getStringField(_ pointerData: DataWithPointer, _ length: Int, _ useUtf8: Bool) -> String? {
|
||||
let bytes = pointerData.bytes(count: length)
|
||||
|
||||
Reference in New Issue
Block a user