From 0b5e86f6730be80a6722582f7f20c05afd526ada Mon Sep 17 00:00:00 2001 From: tison Date: Tue, 8 Oct 2024 01:04:25 -0600 Subject: [PATCH] fix swift cases Signed-off-by: tison --- .../swift/OpenDAL/Sources/OpenDAL/Data+OpenDAL.swift | 4 ++-- bindings/swift/OpenDAL/Sources/OpenDAL/Operator.swift | 10 ++++++---- .../OpenDAL/Tests/OpenDALTests/OpenDALTests.swift | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/bindings/swift/OpenDAL/Sources/OpenDAL/Data+OpenDAL.swift b/bindings/swift/OpenDAL/Sources/OpenDAL/Data+OpenDAL.swift index e963da16fde..41cdef22edd 100644 --- a/bindings/swift/OpenDAL/Sources/OpenDAL/Data+OpenDAL.swift +++ b/bindings/swift/OpenDAL/Sources/OpenDAL/Data+OpenDAL.swift @@ -26,8 +26,8 @@ extension Data { /// The underlying buffer will be freed when the data gets /// deallocated. init(openDALBytes: opendal_bytes) { - let address = UnsafeRawPointer(openDALBytes.pointee.data)! - let length = Int(openDALBytes.pointee.len) + let address = UnsafeRawPointer(openDALBytes.data)! + let length = Int(openDALBytes.len) self.init( bytesNoCopy: .init(mutating: address), count: length, diff --git a/bindings/swift/OpenDAL/Sources/OpenDAL/Operator.swift b/bindings/swift/OpenDAL/Sources/OpenDAL/Operator.swift index 2ce27551e39..00e28eb03c7 100644 --- a/bindings/swift/OpenDAL/Sources/OpenDAL/Operator.swift +++ b/bindings/swift/OpenDAL/Sources/OpenDAL/Operator.swift @@ -57,11 +57,13 @@ public class Operator { self.nativeOp = UnsafePointer(ret.op)! } - public func blockingWrite(_ data: Data, to path: String) throws { - let ret = data.withUnsafeBytes { dataPointer in + public func blockingWrite(_ data: inout Data, to path: String) throws { + let ret = data.withUnsafeMutableBytes { dataPointer in let address = dataPointer.baseAddress!.assumingMemoryBound(to: UInt8.self) - let bytes = opendal_bytes(data: address, len: UInt(dataPointer.count)) - return opendal_operator_write(nativeOp, path, bytes) + let bytes = opendal_bytes(data: address, len: UInt(dataPointer.count), capacity: UInt(dataPointer.count)) + return withUnsafePointer(to: bytes) { bytesPointer in + opendal_operator_write(nativeOp, path, bytesPointer) + } } if let err = ret { diff --git a/bindings/swift/OpenDAL/Tests/OpenDALTests/OpenDALTests.swift b/bindings/swift/OpenDAL/Tests/OpenDALTests/OpenDALTests.swift index ef17c788748..304e6d5a27d 100644 --- a/bindings/swift/OpenDAL/Tests/OpenDALTests/OpenDALTests.swift +++ b/bindings/swift/OpenDAL/Tests/OpenDALTests/OpenDALTests.swift @@ -28,8 +28,8 @@ final class OpenDALTests: XCTestCase { ] ) - let testContents = Data([1, 2, 3, 4]) - try op.blockingWrite(testContents, to: "test") + var testContents = Data([1, 2, 3, 4]) + try op.blockingWrite(&testContents, to: "test") let readContents = try op.blockingRead("test")