From 3ce92a95639dd22cc628ba789ced21db66b82753 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Mon, 1 May 2006 08:58:26 +0000 Subject: [PATCH] Fixed warning from generated native code on mac os x --- .../generator/NativeMethodStubsGenerator.java | 20 +++++++++++++------ .../org_lwjgl_opengl_ARBShaderObjects.c | 2 +- src/native/generated/org_lwjgl_opengl_GL20.c | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java b/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java index 5b331510..55b3c171 100644 --- a/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java +++ b/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java @@ -128,7 +128,7 @@ public class NativeMethodStubsGenerator { writer.print(" = "); } writer.print(method.getSimpleName() + "("); - generateCallParameters(writer, method.getParameters()); + generateCallParameters(writer, type_map, method.getParameters()); writer.print(")"); writer.println(";"); generateStringDeallocations(writer, method.getParameters()); @@ -156,19 +156,27 @@ public class NativeMethodStubsGenerator { writer.println(); } - private static void generateCallParameters(PrintWriter writer, Collection params) { + private static void generateCallParameters(PrintWriter writer, TypeMap type_map, Collection params) { if (params.size() > 0) { Iterator it = params.iterator(); - generateCallParameter(writer, it.next()); + generateCallParameter(writer, type_map, it.next()); while (it.hasNext()) { writer.print(", "); - generateCallParameter(writer, it.next()); + generateCallParameter(writer, type_map, it.next()); } } } - private static void generateCallParameter(PrintWriter writer, ParameterDeclaration param) { - if (param.getAnnotation(Result.class) != null || param.getAnnotation(Indirect.class) != null) + private static void generateCallParameter(PrintWriter writer, TypeMap type_map, ParameterDeclaration param) { + boolean is_indirect = param.getAnnotation(Indirect.class) != null; + if (is_indirect) { + writer.print("("); + NativeTypeTranslator translator = new NativeTypeTranslator(type_map, param); + param.getType().accept(translator); + writer.print(translator.getSignature()); + writer.print("*)"); + } + if (param.getAnnotation(Result.class) != null || is_indirect) writer.print("&"); if (param.getAnnotation(Result.class) != null) { writer.print(Utils.RESULT_VAR_NAME); diff --git a/src/native/generated/org_lwjgl_opengl_ARBShaderObjects.c b/src/native/generated/org_lwjgl_opengl_ARBShaderObjects.c index cd16069a..318925cc 100644 --- a/src/native/generated/org_lwjgl_opengl_ARBShaderObjects.c +++ b/src/native/generated/org_lwjgl_opengl_ARBShaderObjects.c @@ -68,7 +68,7 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglCreateShaderObj JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length, jlong function_pointer) { const GLcharARB *string_address = ((const GLcharARB *)(*env)->GetDirectBufferAddress(env, string)) + string_position; glShaderSourceARBPROC glShaderSourceARB = (glShaderSourceARBPROC)((intptr_t)function_pointer); - glShaderSourceARB(shader, count, &string_address, &length); + glShaderSourceARB(shader, count, (const GLcharARB **)&string_address, (const GLint*)&length); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglCompileShaderARB(JNIEnv *env, jclass clazz, jint shaderObj, jlong function_pointer) { diff --git a/src/native/generated/org_lwjgl_opengl_GL20.c b/src/native/generated/org_lwjgl_opengl_GL20.c index 459e090d..2a0749c3 100644 --- a/src/native/generated/org_lwjgl_opengl_GL20.c +++ b/src/native/generated/org_lwjgl_opengl_GL20.c @@ -77,7 +77,7 @@ typedef void (APIENTRY *glBlendEquationSeparatePROC) (GLenum modeRGB, GLenum mod JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglShaderSource(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length, jlong function_pointer) { const GLchar *string_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, string)) + string_position; glShaderSourcePROC glShaderSource = (glShaderSourcePROC)((intptr_t)function_pointer); - glShaderSource(shader, count, &string_address, &length); + glShaderSource(shader, count, (const GLchar **)&string_address, (const GLint*)&length); } JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL20_nglCreateShader(JNIEnv *env, jclass clazz, jint type, jlong function_pointer) {