From da200d3ac0204abadd5992820486321970d689b8 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 19 Feb 2018 15:51:56 +0200 Subject: refactoring, fixing and implementing messy commits yay --- src/libjvm-java.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/libjvm-java.c') diff --git a/src/libjvm-java.c b/src/libjvm-java.c index 25e93c0..ed2b6ce 100644 --- a/src/libjvm-java.c +++ b/src/libjvm-java.c @@ -1,8 +1,23 @@ +#include #include #include +#include #include +#include +#include #include "jvm/jni.h" +void +java_lang_System_load(JNIEnv *env, jobject object, va_list args) +{ + assert(env && object); + const char *lib = (*env)->GetStringUTFChars(env, va_arg(args, jstring), NULL); + va_end(args); + printf("%s\n", lib); + // FIXME: should handle loading properly + // bionic_dlopen(lib, RTLD_NOW | RTLD_GLOBAL); +} + jclass java_lang_Object_getClass(JNIEnv *env, jobject object, va_list args) { @@ -22,6 +37,8 @@ jobject java_lang_ClassLoader_findLibrary(JNIEnv *env, jobject object, va_list args) { assert(env && object); + // XXX: according to docs should return absolute path, but relative is more convenient for us. + // fix if breaks anything because of this. char lib[255]; snprintf(lib, sizeof(lib), "lib%s.so", (*env)->GetStringUTFChars(env, va_arg(args, jstring), NULL)); va_end(args); @@ -44,3 +61,10 @@ java_util_Set_iterator(JNIEnv *env, jobject object, va_list args) static jobject sv; return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "java/util/Iterator")))); } + +jboolean +java_util_Iterator_hasNext(JNIEnv *env, jobject object, va_list args) +{ + assert(env && object); + return false; +} -- cgit v1.2.3