summaryrefslogtreecommitdiff
path: root/libjava/java/lang/natRuntime.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/natRuntime.cc')
-rw-r--r--libjava/java/lang/natRuntime.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
index b9b9c57365a..eb1d477002a 100644
--- a/libjava/java/lang/natRuntime.cc
+++ b/libjava/java/lang/natRuntime.cc
@@ -135,8 +135,13 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
void *onload = lt_dlsym (h, "JNI_OnLoad");
if (onload != NULL)
{
- // FIXME: need invocation API to get JavaVM.
- jint vers = ((jint (*) (...)) onload) (NULL, NULL);
+ JavaVM *vm = _Jv_GetJavaVM ();
+ if (vm == NULL)
+ {
+ // FIXME: what?
+ return;
+ }
+ jint vers = ((jint (*) (JavaVM *, void *)) onload) (vm, NULL);
if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2)
{
// FIXME: unload the library.