X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjni%2Fbindings.c;h=dd8ab081ac59e1401384661d8903c2a19068c93d;hb=c6ea459938480d588c78fdef1f34e8e7fa7c43dd;hp=93ad2e57aae3c48107f54cc73ba52fb6a7df89b4;hpb=655896c803d4ab022bac5287f91b9f87f1648ff2;p=ldk-java diff --git a/src/main/jni/bindings.c b/src/main/jni/bindings.c index 93ad2e57..dd8ab081 100644 --- a/src/main/jni/bindings.c +++ b/src/main/jni/bindings.c @@ -4346,13 +4346,15 @@ void disconnect_socket_jcall(void* this_arg) { CHECK(obj != NULL); return (*_env)->CallVoidMethod(_env, obj, j_calls->disconnect_socket_meth); } -bool eq_jcall(const void* this_arg, const void *other_arg) { +bool eq_jcall(const void* this_arg, const LDKSocketDescriptor *other_arg) { LDKSocketDescriptor_JCalls *j_calls = (LDKSocketDescriptor_JCalls*) this_arg; JNIEnv *_env; DO_ASSERT((*j_calls->vm)->GetEnv(j_calls->vm, (void**)&_env, JNI_VERSION_1_8) == JNI_OK); + LDKSocketDescriptor *other_arg_clone = MALLOC(sizeof(LDKSocketDescriptor), "LDKSocketDescriptor"); + *other_arg_clone = SocketDescriptor_clone(other_arg); jobject obj = (*_env)->NewLocalRef(_env, j_calls->o); CHECK(obj != NULL); - return (*_env)->CallBooleanMethod(_env, obj, j_calls->eq_meth, other_arg); + return (*_env)->CallBooleanMethod(_env, obj, j_calls->eq_meth, (long)other_arg_clone); } uint64_t hash_jcall(const void* this_arg) { LDKSocketDescriptor_JCalls *j_calls = (LDKSocketDescriptor_JCalls*) this_arg;