Skip to content

Commit c9584d1

Browse files
author
Yann Diorcet
committed
Java: Fix variadic NULL terminated
1 parent 4b6c067 commit c9584d1

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

zproject_java.gsl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ $(jni_shim_signature_c:))
899899
zsys_handler_set (NULL);
900900
. endif
901901
. if ->return.type = "nothing"
902-
$(class.c_name)_$(c_name) ($(jni_native_invocation_c));
902+
$(class.c_name)_$(c_name) ($(jni_native_invocation_c:));
903903
. if defined (my.method.return_self_p) & !my.method.is_destructor
904904
. my.return = " return self;\n"
905905
. else
@@ -912,25 +912,25 @@ $(jni_shim_signature_c:))
912912
. else
913913
. my.size = ->return.size
914914
. endif
915-
jbyte *$(c_name)_ = (jbyte *) $(class.c_name)_$(c_name) ($(jni_native_invocation_c));
915+
jbyte *$(c_name)_ = (jbyte *) $(class.c_name)_$(c_name) ($(jni_native_invocation_c:));
916916
jint return_size_ = (jint) $(my.size);
917917
jbyteArray return_data_ = (*env)->NewByteArray (env, return_size_);
918918
(*env)->SetByteArrayRegion (env, return_data_, 0, return_size_, (jbyte *) $(c_name)_);
919919
. my.return = " return return_data_;\n"
920920
.#
921921
. elsif ->return.type = "string"
922-
char *$(c_name)_ = (char *) $(class.c_name)_$(c_name) ($(jni_native_invocation_c));
922+
char *$(c_name)_ = (char *) $(class.c_name)_$(c_name) ($(jni_native_invocation_c:));
923923
jstring return_string_ = (*env)->NewStringUTF (env, $(c_name)_);
924924
. if ->return.fresh
925925
zstr_free (&$(c_name)_);
926926
. endif
927927
. my.return = " return return_string_;\n"
928928
.#
929929
. elsif ->return.jni_is_class = 1 | ->return.type = "anything" | ->return.type = "sockish"
930-
jlong $(c_name)_ = (jlong) (intptr_t) $(class.c_name)_$(c_name) ($(jni_native_invocation_c));
930+
jlong $(c_name)_ = (jlong) (intptr_t) $(class.c_name)_$(c_name) ($(jni_native_invocation_c:));
931931
. my.return = " return $(c_name)_;\n"
932932
. else
933-
$(->return.jni_jni_type:) $(c_name)_ = ($(->return.jni_jni_type:)) $(class.c_name)_$(c_name) ($(jni_native_invocation_c));
933+
$(->return.jni_jni_type:) $(c_name)_ = ($(->return.jni_jni_type:)) $(class.c_name)_$(c_name) ($(jni_native_invocation_c:));
934934
. if defined (my.method.return_self_p)
935935
. my.return = " return self;\n"
936936
. else

zproject_java_lib.gsl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ function resolve_method (method)
172172
if va_start <> "format"
173173
jni_method_signature += " []"
174174
jni_shim_invocation_java += " [0]"
175+
jni_native_invocation_c += ", NULL"
175176
endif
176177
elsif jni_self_p = 1
177178
jni_shim_signature_java += "$(comma)long self"

0 commit comments

Comments
 (0)