From 07600cce74f41fb59f3a523a2190f2e3f6b0236a Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Sun, 18 Nov 2018 08:52:18 +0200 Subject: libjvm-java: implement java/lang/System/getProperty --- src/libjvm-java.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/libjvm-java.c') diff --git a/src/libjvm-java.c b/src/libjvm-java.c index 35f1146..c641124 100644 --- a/src/libjvm-java.c +++ b/src/libjvm-java.c @@ -10,6 +10,25 @@ #include "linker/dlfcn.h" #include "wrapper/verbose.h" +jstring +java_lang_System_getProperty(JNIEnv *env, jobject object, va_list args) +{ + assert(env && object); + char value[92]; // PROP_VALUE_MAX 92 + const char *key = (*env)->GetStringUTFChars(env, va_arg(args, jstring), NULL); + + union { + void *ptr; + int (*fun)(const char *name, char *value); + } __system_property_get; + + if (!(__system_property_get.ptr = bionic_dlsym(NULL, "__system_property_get"))) + return NULL; + + __system_property_get.fun(key, value); + return (*env)->NewStringUTF(env, value); +} + void java_lang_System_load(JNIEnv *env, jobject object, va_list args) { -- cgit v1.2.3