@@ -35,6 +35,7 @@ public class JNIType {
35
35
guard let from: jobject = from else { return nil }
36
36
defer { if consume { JNI . DeleteLocalRef ( from ) } }
37
37
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
38
+ if length == 0 { return [ ] }
38
39
var value = [ jboolean] ( repeating: jboolean ( ) , count: Int ( length) )
39
40
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
40
41
valuePtr in
@@ -78,6 +79,7 @@ public class JNIType {
78
79
guard let from: jobject = from else { return nil }
79
80
defer { if consume { JNI . DeleteLocalRef ( from ) } }
80
81
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
82
+ if length == 0 { return [ ] }
81
83
var value = [ Int8] ( repeating: Int8 ( ) , count: Int ( length) )
82
84
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
83
85
valuePtr in
@@ -121,6 +123,7 @@ public class JNIType {
121
123
guard let from: jobject = from else { return nil }
122
124
defer { if consume { JNI . DeleteLocalRef ( from ) } }
123
125
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
126
+ if length == 0 { return [ ] }
124
127
var value = [ Int16] ( repeating: Int16 ( ) , count: Int ( length) )
125
128
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
126
129
valuePtr in
@@ -164,6 +167,7 @@ public class JNIType {
164
167
guard let from: jobject = from else { return nil }
165
168
defer { if consume { JNI . DeleteLocalRef ( from ) } }
166
169
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
170
+ if length == 0 { return [ ] }
167
171
var value = [ UInt16] ( repeating: UInt16 ( ) , count: Int ( length) )
168
172
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
169
173
valuePtr in
@@ -209,6 +213,7 @@ public class JNIType {
209
213
guard let from: jobject = from else { return nil }
210
214
defer { if consume { JNI . DeleteLocalRef ( from ) } }
211
215
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
216
+ if length == 0 { return [ ] }
212
217
var value = [ Int32] ( repeating: Int32 ( ) , count: Int ( length) )
213
218
value. withUnsafeMutableBufferPointer {
214
219
valuePtr in
@@ -255,6 +260,7 @@ public class JNIType {
255
260
guard let from: jobject = from else { return nil }
256
261
defer { if consume { JNI . DeleteLocalRef ( from ) } }
257
262
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
263
+ if length == 0 { return [ ] }
258
264
var value = [ jint] ( repeating: jint ( ) , count: Int ( length) )
259
265
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
260
266
valuePtr in
@@ -298,6 +304,7 @@ public class JNIType {
298
304
guard let from: jobject = from else { return nil }
299
305
defer { if consume { JNI . DeleteLocalRef ( from ) } }
300
306
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
307
+ if length == 0 { return [ ] }
301
308
var value = [ Int64] ( repeating: Int64 ( ) , count: Int ( length) )
302
309
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
303
310
valuePtr in
@@ -341,6 +348,7 @@ public class JNIType {
341
348
guard let from: jobject = from else { return nil }
342
349
defer { if consume { JNI . DeleteLocalRef ( from ) } }
343
350
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
351
+ if length == 0 { return [ ] }
344
352
var value = [ Float] ( repeating: Float ( ) , count: Int ( length) )
345
353
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
346
354
valuePtr in
@@ -384,6 +392,7 @@ public class JNIType {
384
392
guard let from: jobject = from else { return nil }
385
393
defer { if consume { JNI . DeleteLocalRef ( from ) } }
386
394
let length : jsize = JNI . api. GetArrayLength ( JNI . env, from )
395
+ if length == 0 { return [ ] }
387
396
var value = [ Double] ( repeating: Double ( ) , count: Int ( length) )
388
397
withUnsafeMutablePointer ( to: & value[ 0 ] ) {
389
398
valuePtr in
0 commit comments