diff --git a/WhiskyKit/PE/PortableExecutable.swift b/WhiskyKit/PE/PortableExecutable.swift index 40fd4235..23413645 100644 --- a/WhiskyKit/PE/PortableExecutable.swift +++ b/WhiskyKit/PE/PortableExecutable.swift @@ -277,8 +277,8 @@ public struct PEFile: Hashable { } private let handle: FileHandle - public init(handle: FileHandle) throws { - self.handle = handle + public init(url: URL) throws { + self.handle = try FileHandle(forReadingFrom: url) // Verify it is a PE file by checking for the PE header let offsetToPEHeader = handle.extract(UInt32.self, offset: 0x3C) ?? 0 let peHeader = handle.extract(UInt32.self, offset: Int(offsetToPEHeader)) diff --git a/WhiskyKit/Whisky/Program.swift b/WhiskyKit/Whisky/Program.swift index a312a1a6..71ff7374 100644 --- a/WhiskyKit/Whisky/Program.swift +++ b/WhiskyKit/Whisky/Program.swift @@ -41,7 +41,7 @@ public class Program: Hashable { self.settings = ProgramSettings(bottleUrl: bottle.url, name: name) self.pinned = bottle.settings.pins.contains(where: { $0.url == url }) do { - self.peFile = try PEFile(handle: FileHandle(forReadingFrom: url)) + self.peFile = try PEFile(url: url) } catch { self.peFile = nil } diff --git a/WhiskyThumbnail/ThumbnailProvider.swift b/WhiskyThumbnail/ThumbnailProvider.swift index 8a9cd233..bf93785d 100644 --- a/WhiskyThumbnail/ThumbnailProvider.swift +++ b/WhiskyThumbnail/ThumbnailProvider.swift @@ -46,7 +46,7 @@ class ThumbnailProvider: QLThumbnailProvider { do { var image: NSImage? - let peFile = try PEFile(handle: try FileHandle(forReadingFrom: request.fileURL)) + let peFile = try PEFile(url: request.fileURL) image = peFile.bestIcon() let reply: QLThumbnailReply = QLThumbnailReply.init(contextSize: thumbnailSize) { () -> Bool in