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

diff --git a/vm/jato.c b/vm/jato.c
index dfdd60b..9086f1d 100644
--- a/vm/jato.c
+++ b/vm/jato.c
@@ -32,6 +32,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
 
 #include "cafebabe/access.h"
 #include "cafebabe/attribute_info.h"
@@ -306,6 +309,26 @@ native_vmclassloader_getprimitiveclass(int type)
        return class->object;
 }
 
+static int __vm_native
+native_vmfile_is_directory(struct vm_object *dirpath)
+{
+       char *dirpath_str;
+       struct stat buf;
+
+       dirpath_str = vm_string_to_cstr(dirpath);
+       if (!dirpath_str)
+               return false;
+
+       if (stat(dirpath_str, &buf)) {
+               free(dirpath_str);
+               return false;
+       }
+
+       free(dirpath_str);
+
+       return S_ISDIR(buf.st_mode);
+}
+
 static struct vm_native natives[] = {
        DEFINE_NATIVE("gnu/classpath/VMStackWalker", "getClassContext", 
&native_vmstackwalker_getclasscontext),
        DEFINE_NATIVE("gnu/classpath/VMSystemProperties", "preInit", 
&native_vmsystemproperties_preinit),
@@ -313,6 +336,7 @@ static struct vm_native natives[] = {
        DEFINE_NATIVE("jato/internal/VM", "println", &native_vmruntime_println),
        DEFINE_NATIVE("java/lang/VMClass", "getName", &native_vmclass_getname),
        DEFINE_NATIVE("java/lang/VMClassLoader", "getPrimitiveClass", 
&native_vmclassloader_getprimitiveclass),
+       DEFINE_NATIVE("java/io/VMFile", "isDirectory", 
&native_vmfile_is_directory),
        DEFINE_NATIVE("java/lang/VMObject", "clone", &native_vmobject_clone),
        DEFINE_NATIVE("java/lang/VMObject", "getClass", 
&native_vmobject_getclass),
        DEFINE_NATIVE("java/lang/VMRuntime", "exit", &native_vmruntime_exit),
-- 
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