aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/testsuite/libjava.jni/findclass.c12
-rw-r--r--libjava/testsuite/libjava.jni/findclass.java16
-rw-r--r--libjava/testsuite/libjava.jni/findclass.out1
3 files changed, 29 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jni/findclass.c b/libjava/testsuite/libjava.jni/findclass.c
new file mode 100644
index 0000000..9a71508
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/findclass.c
@@ -0,0 +1,12 @@
+#include <stdlib.h>
+
+#include <findclass.h>
+
+jclass
+Java_findclass_doit (JNIEnv *env, jclass klass, jstring name)
+{
+ const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
+ jclass k = (*env)->FindClass (env, buf);
+ (*env)->ReleaseStringUTFChars (env, name, buf);
+ return k;
+}
diff --git a/libjava/testsuite/libjava.jni/findclass.java b/libjava/testsuite/libjava.jni/findclass.java
new file mode 100644
index 0000000..b857538
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/findclass.java
@@ -0,0 +1,16 @@
+// Test FindClass part of JNI.
+
+public class findclass
+{
+ static
+ {
+ System.loadLibrary ("findclass");
+ }
+
+ public static native Class doit (String name);
+
+ public static void main (String[] args)
+ {
+ System.out.println ("" + doit ("java/lang/String"));
+ }
+}
diff --git a/libjava/testsuite/libjava.jni/findclass.out b/libjava/testsuite/libjava.jni/findclass.out
new file mode 100644
index 0000000..124026a
--- /dev/null
+++ b/libjava/testsuite/libjava.jni/findclass.out
@@ -0,0 +1 @@
+class java.lang.String