Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
---
 vm/jato.c |   61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 2 deletions(-)

diff --git a/vm/jato.c b/vm/jato.c
index 865deda..fb7ecb0 100644
--- a/vm/jato.c
+++ b/vm/jato.c
@@ -130,8 +130,65 @@ static void __vm_native native_vmruntime_exit(int status)
 static struct vm_object *__vm_native
 native_vmruntime_maplibraryname(struct vm_object *name)
 {
-       NOT_IMPLEMENTED;
-       return name;
+       struct vm_object *result;
+       char *str;
+
+       if (!name) {
+               signal_new_exception(vm_java_lang_NullPointerException, NULL);
+               throw_from_native(sizeof(struct vm_object));
+               return NULL;
+       }
+
+       str = vm_string_to_cstr(name);
+       if (!str) {
+               NOT_IMPLEMENTED;
+               return NULL;
+       }
+
+       char *result_str = NULL;
+       asprintf(&result_str, "lib%s.so", str);
+
+       free(str);
+
+       if (!result_str) {
+               NOT_IMPLEMENTED;
+               return NULL;
+       }
+
+       result = vm_object_alloc_string_from_c(result_str);
+       free(result_str);
+
+       return result;
+}
+
+static int __vm_native
+native_vmruntime_native_load(struct vm_object *name,
+                            struct vm_object *classloader)
+{
+       char *name_str;
+       int result;
+
+       if (classloader != NULL) {
+               NOT_IMPLEMENTED;
+               return 0;
+       }
+
+       if (!name) {
+               signal_new_exception(vm_java_lang_NullPointerException, NULL);
+               throw_from_native(sizeof(struct vm_object) * 2);
+               return 0;
+       }
+
+       name_str = vm_string_to_cstr(name);
+       if (!name_str) {
+               NOT_IMPLEMENTED;
+               return 0;
+       }
+
+       result  = vm_jni_load_object(name_str);
+       free(name_str);
+
+       return result == 0;
 }
 
 static void __vm_native native_vmruntime_println(struct vm_object *message)
-- 
1.6.0.6


------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to