From b69f8b201ba3767020d33a7ebe066466f00d4223 Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Tue, 3 Jan 2006 02:36:17 +0000 Subject: Added checks on number of remaining elements and bytes for Buffers and arrays passed to certain APIs. Default is to not emit such range checks. The checks are currently most fully implemented for image- and texture-related APIs. Verified with debugging code and with demos that all textures used in demos are properly checked. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@509 232f8b59-042b-4e1e-8c03-345bb8c30851 --- src/classes/com/sun/gluegen/JavaEmitter.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/classes/com/sun/gluegen/JavaEmitter.java') diff --git a/src/classes/com/sun/gluegen/JavaEmitter.java b/src/classes/com/sun/gluegen/JavaEmitter.java index d4bafb7a8..f0799067e 100644 --- a/src/classes/com/sun/gluegen/JavaEmitter.java +++ b/src/classes/com/sun/gluegen/JavaEmitter.java @@ -377,6 +377,8 @@ public class JavaEmitter implements GlueEmitter { emitter.setReturnedArrayLengthExpression(cfg.returnedArrayLength(binding.getName())); emitter.setPrologue(prologue); emitter.setEpilogue(epilogue); + emitter.setRangeCheckExpressions(cfg.rangeCheckExpressions(binding.getName())); + emitter.setByteRangeCheckExpressions(cfg.byteRangeCheckExpressions(binding.getName())); allEmitters.add(emitter); } @@ -430,6 +432,8 @@ public class JavaEmitter implements GlueEmitter { } emitter.addModifier(JavaMethodBindingEmitter.NATIVE); emitter.setReturnedArrayLengthExpression(cfg.returnedArrayLength(binding.getName())); + emitter.setRangeCheckExpressions(cfg.rangeCheckExpressions(binding.getName())); + emitter.setByteRangeCheckExpressions(cfg.byteRangeCheckExpressions(binding.getName())); allEmitters.add(emitter); // Optionally emit the entry point taking arrays which handles @@ -455,6 +459,8 @@ public class JavaEmitter implements GlueEmitter { } emitter.addModifier(JavaMethodBindingEmitter.NATIVE); emitter.setReturnedArrayLengthExpression(cfg.returnedArrayLength(binding.getName())); + emitter.setRangeCheckExpressions(cfg.rangeCheckExpressions(binding.getName())); + emitter.setByteRangeCheckExpressions(cfg.byteRangeCheckExpressions(binding.getName())); allEmitters.add(emitter); } } -- cgit v1.2.3