aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/games/gluegen/CMethodBindingImplEmitter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/games/gluegen/CMethodBindingImplEmitter.java')
-rw-r--r--src/net/java/games/gluegen/CMethodBindingImplEmitter.java8
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());