diff options
Diffstat (limited to 'src/net/java/games/gluegen/CMethodBindingImplEmitter.java')
-rw-r--r-- | src/net/java/games/gluegen/CMethodBindingImplEmitter.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/net/java/games/gluegen/CMethodBindingImplEmitter.java b/src/net/java/games/gluegen/CMethodBindingImplEmitter.java index 95f04d235..43e4f4d86 100644 --- a/src/net/java/games/gluegen/CMethodBindingImplEmitter.java +++ b/src/net/java/games/gluegen/CMethodBindingImplEmitter.java @@ -83,6 +83,14 @@ public class CMethodBindingImplEmitter extends CMethodBindingEmitter Class c = type.getJavaClass(); if (c != null) { jniMangle(c, buf); + // Add mangling for buffer offset arguments + if(type.isNIOBuffer()) { + jniMangle(Integer.TYPE, buf); + } else if (type.isNIOBufferArray()) { + int[] intArrayType = new int[0]; + c = intArrayType.getClass(); + jniMangle(c , buf); + } } else { // FIXME: add support for char* -> String conversion throw new RuntimeException("Unknown kind of JavaType: name="+type.getName()); |