Dev: fix 64-bit support

This commit is contained in:
Andrew Druk 2019-08-01 16:09:24 +03:00
parent ae7ca8ab2e
commit f80b875cc0
1 changed files with 3 additions and 3 deletions

View File

@ -176,13 +176,13 @@ public struct JavaCoderConfig {
RegisterType(type: Data.self, javaClassname: ByteBufferClassname, encodableClosure: { RegisterType(type: Data.self, javaClassname: ByteBufferClassname, encodableClosure: {
let valueData = $0 as! Data let valueData = $0 as! Data
let byteArray = JNI.api.NewByteArray(JNI.env, valueData.count) let byteArray = JNI.api.NewByteArray(JNI.env, Int32(valueData.count))
if let throwable = JNI.ExceptionCheck() { if let throwable = JNI.ExceptionCheck() {
throw EncodingError.invalidValue($0, EncodingError.Context(codingPath: [], throw EncodingError.invalidValue($0, EncodingError.Context(codingPath: [],
debugDescription: "Can't create NewByteArray \(valueData.count)")) debugDescription: "Can't create NewByteArray \(valueData.count)"))
} }
valueData.withUnsafeBytes({ (pointer: UnsafePointer<Int8>) -> Void in valueData.withUnsafeBytes({ (pointer: UnsafePointer<Int8>) -> Void in
JNI.api.SetByteArrayRegion(JNI.env, byteArray, 0, valueData.count, pointer) JNI.api.SetByteArrayRegion(JNI.env, byteArray, 0, Int32(valueData.count), pointer)
}) })
if let throwable = JNI.ExceptionCheck() { if let throwable = JNI.ExceptionCheck() {
throw EncodingError.invalidValue($0, EncodingError.Context(codingPath: [], throw EncodingError.invalidValue($0, EncodingError.Context(codingPath: [],
@ -202,7 +202,7 @@ public struct JavaCoderConfig {
defer { defer {
JNI.api.ReleaseByteArrayElements(JNI.env, byteArray, pointer, 0) JNI.api.ReleaseByteArrayElements(JNI.env, byteArray, pointer, 0)
} }
return Data(bytes: pointer, count: length) return Data(bytes: pointer, count: Int(length))
}) })
} }