From 775698620ff5fd2b14b1b0fc3de67291f510fd84 Mon Sep 17 00:00:00 2001 From: a dinosaur Date: Thu, 14 Nov 2024 01:04:37 +1100 Subject: [PATCH] apply MemInStream changes that required streams to be class-based --- Sources/apk/Utility/MemoryInputStream.swift | 32 +++++---------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/Sources/apk/Utility/MemoryInputStream.swift b/Sources/apk/Utility/MemoryInputStream.swift index f617553..90ed8b9 100644 --- a/Sources/apk/Utility/MemoryInputStream.swift +++ b/Sources/apk/Utility/MemoryInputStream.swift @@ -7,48 +7,33 @@ import Foundation import System public class MemoryInputStream: InputStream { - private var _buf: ContiguousArray! = nil - private let _sli: ArraySlice + private let _str: Storage private let _ptr: UnsafeBufferPointer private let _len: Int private var _idx = 0 public init(buffer: Data) { self._len = buffer.count - /* - self._buf = .buffer(.allocate(capacity: self._len)) - if case .buffer(let buf) = _buf { + self._str = .buffer(.allocate(capacity: self._len)) + if case .buffer(let buf) = self._str { _ = buffer.copyBytes(to: buf) self._ptr = .init(start: buf.baseAddress, count: self._len) } else { fatalError() } - */ - self._buf = .init(repeating: 0, count: self._len) - self._buf.withUnsafeMutableBufferPointer { buf in - _ = buffer.copyBytes(to: buf) - } - self._sli = self._buf[...] - self._ptr = self._sli.withUnsafeBufferPointer(\.self) } public init(view: ArraySlice) { self._len = view.count - /* - self._buf = .slice(view) - if case .slice(let sli) = _buf { + self._str = .slice(view) + if case .slice(let sli) = self._str { self._ptr = sli.withUnsafeBufferPointer(\.self) } else { fatalError() } - */ - self._sli = view - self._ptr = self._sli.withUnsafeBufferPointer(\.self) } - /* deinit { - if case .buffer(let buf) = _buf { + if case .buffer(let buf) = self._str { buf.deallocate() } } - */ public override func seek(_ whence: Whence) throws(StreamError) { let (position, overflow) = switch whence { @@ -98,12 +83,9 @@ public class MemoryInputStream: InputStream { } } -/* fileprivate extension MemoryInputStream { enum Storage { - //case buffer(_: UnsafeMutableBufferPointer) - case buffer(_: ContiguousArray) + case buffer(_: UnsafeMutableBufferPointer) case slice(_: ArraySlice) } } -*/