re PR libgcj/18116 (JNI uses dot instead of slash as the package separator)
2005-02-14 Anthony Green <green@redhat.com> PR libgcj/18116 * testsuite/libjava.jni/PR18116.c: New file. * testsuite/libjava.jni/PR18116.java: New file. * testsuite/libjava.jni/PR18116.out: New file. From-SVN: r95014
This commit is contained in:
parent
92d2b330de
commit
d633cfe524
4 changed files with 60 additions and 0 deletions
|
@ -1,5 +1,13 @@
|
||||||
|
2005-02-14 Anthony Green <green@redhat.com>
|
||||||
|
|
||||||
|
PR libgcj/18116
|
||||||
|
* testsuite/libjava.jni/PR18116.c: New file.
|
||||||
|
* testsuite/libjava.jni/PR18116.java: New file.
|
||||||
|
* testsuite/libjava.jni/PR18116.out: New file.
|
||||||
|
|
||||||
2005-02-13 Anthony Green <green@redhat.com>
|
2005-02-13 Anthony Green <green@redhat.com>
|
||||||
|
|
||||||
|
PR libgcj/18116
|
||||||
* jni.cc (nathash_add): Don't strdup the method signature.
|
* jni.cc (nathash_add): Don't strdup the method signature.
|
||||||
(_Jv_JNI_RegisterNatives): Convert the slashes to dots in the
|
(_Jv_JNI_RegisterNatives): Convert the slashes to dots in the
|
||||||
method signature.
|
method signature.
|
||||||
|
|
35
libjava/testsuite/libjava.jni/PR18116.c
Normal file
35
libjava/testsuite/libjava.jni/PR18116.c
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <PR18116.h>
|
||||||
|
|
||||||
|
// The purpose of this test is to ensure that signatures with non-top
|
||||||
|
// level class arguments work.
|
||||||
|
|
||||||
|
static jint
|
||||||
|
some_random_name (JNIEnv *env, jclass k, jobject v)
|
||||||
|
{
|
||||||
|
return 555;
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT jint JNICALL
|
||||||
|
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, "PR18116");
|
||||||
|
assert (k != NULL);
|
||||||
|
|
||||||
|
meth.name = "doit";
|
||||||
|
meth.signature = "(Ljava/lang/String;)I";
|
||||||
|
meth.fnPtr = some_random_name;
|
||||||
|
|
||||||
|
r = (*env)->RegisterNatives (env, k, &meth, 1);
|
||||||
|
assert (r == JNI_OK);
|
||||||
|
|
||||||
|
return JNI_VERSION_1_2;
|
||||||
|
}
|
16
libjava/testsuite/libjava.jni/PR18116.java
Normal file
16
libjava/testsuite/libjava.jni/PR18116.java
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// PR18116.java - Test RegisterNatives with more complex signatures.
|
||||||
|
|
||||||
|
public class PR18116
|
||||||
|
{
|
||||||
|
static
|
||||||
|
{
|
||||||
|
System.loadLibrary ("PR18116");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static native int doit (java.lang.String s);
|
||||||
|
|
||||||
|
public static void main (String[] args)
|
||||||
|
{
|
||||||
|
System.out.println (doit ("Hello World!"));
|
||||||
|
}
|
||||||
|
}
|
1
libjava/testsuite/libjava.jni/PR18116.out
Normal file
1
libjava/testsuite/libjava.jni/PR18116.out
Normal file
|
@ -0,0 +1 @@
|
||||||
|
555
|
Loading…
Add table
Add a link
Reference in a new issue