diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/register.c | 32 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/register.java | 16 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/register.out | 1 |
4 files changed, 55 insertions, 0 deletions
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog index 16eb95a..da7e613 100644 --- a/libjava/testsuite/ChangeLog +++ b/libjava/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2000-02-18 Tom Tromey <tromey@cygnus.com> + + * libjava.jni/register.java: New file. + * libjava.jni/register.c: New file. + * libjava.jni/register.out: New file. + 2000-02-16 Tom Tromey <tromey@cygnus.com> * libjava.jni/calls.c: New file. diff --git a/libjava/testsuite/libjava.jni/register.c b/libjava/testsuite/libjava.jni/register.c new file mode 100644 index 0000000..738182c --- /dev/null +++ b/libjava/testsuite/libjava.jni/register.c @@ -0,0 +1,32 @@ +#include <stdlib.h> +#include <assert.h> +#include <register.h> + +static jint +some_random_name (JNIEnv *env, jclass k, jint v) +{ + return v - 1; +} + +jint +JNI_OnLoad (JavaVM *vm, void *nothing) +{ + JNIEnv *env; + JNINativeMethod meth; + jclass k; + jint r; + + r = (*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_2); + assert (r == JNI_OK); + k = (*env)->FindClass (env, "register"); + assert (k != NULL); + + meth.name = "doit"; + meth.signature = "(I)I"; + meth.fnPtr = some_random_name; + + r = (*env)->RegisterNatives (env, k, &meth, 1); + assert (r == JNI_OK); + + return JNI_VERSION_1_2; +} diff --git a/libjava/testsuite/libjava.jni/register.java b/libjava/testsuite/libjava.jni/register.java new file mode 100644 index 0000000..0c0cbf6 --- /dev/null +++ b/libjava/testsuite/libjava.jni/register.java @@ -0,0 +1,16 @@ +// register.java - Test RegisterNatives. + +public class register +{ + static + { + System.loadLibrary ("register"); + } + + public static native int doit (int z); + + public static void main (String[] args) + { + System.out.println (doit (24)); + } +} diff --git a/libjava/testsuite/libjava.jni/register.out b/libjava/testsuite/libjava.jni/register.out new file mode 100644 index 0000000..4099407 --- /dev/null +++ b/libjava/testsuite/libjava.jni/register.out @@ -0,0 +1 @@ +23 |