Fixed pointer array init for NIO buffers.
This commit is contained in:
parent
67d4e7c64d
commit
3caf672e42
|
@ -381,11 +381,12 @@ public class NativeMethodStubsGenerator {
|
||||||
writer.println("\t" + n + "_i = 0;");
|
writer.println("\t" + n + "_i = 0;");
|
||||||
// Fill pointer array with the buffer pointers
|
// Fill pointer array with the buffer pointers
|
||||||
writer.println("\twhile ( " + n + "_i < " + pointerArray_annotation.value() + " ) {");
|
writer.println("\twhile ( " + n + "_i < " + pointerArray_annotation.value() + " ) {");
|
||||||
if ( component_type.isAssignableFrom(Buffer.class) )
|
|
||||||
writer.println("\t\t" + n + "_object = (*env)->GetObjectArrayElement(env, " + param.getSimpleName() + ", " + n + "_i);");
|
writer.println("\t\t" + n + "_object = (*env)->GetObjectArrayElement(env, " + param.getSimpleName() + ", " + n + "_i);");
|
||||||
|
writer.print("\t\t" + param.getSimpleName() + n + "[" + n + "_i++] = (" + translator.getSignature(true) + ")");
|
||||||
|
if ( Buffer.class.isAssignableFrom(component_type) )
|
||||||
|
writer.println("(*env)->GetDirectBufferAddress(env, " + n + "_object);");
|
||||||
else
|
else
|
||||||
writer.println("\t\t" + n + "_object = (*env)->GetObjectArrayElement(env, " + param.getSimpleName() + ", " + n + "_i);");
|
writer.println("(intptr_t)getPointerWrapperAddress(env, " + n + "_object);");
|
||||||
writer.println("\t\t" + param.getSimpleName() + n + "[" + n + "_i++] = (" + translator.getSignature(true) + ")(intptr_t)getPointerWrapperAddress(env, " + n + "_object);");
|
|
||||||
writer.println("\t}");
|
writer.println("\t}");
|
||||||
} else {
|
} else {
|
||||||
final String lengths = pointerArray_annotation.lengths();
|
final String lengths = pointerArray_annotation.lengths();
|
||||||
|
|
Loading…
Reference in New Issue