OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [testsuite/] [libjava.jni/] [martin.c] - Blame information for rev 765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 765 jeremybenn
#include <jni.h>
2
#include "martin.h"
3
#include <stdio.h>
4
 
5
JNIEXPORT void JNICALL
6
Java_martin_myNative(JNIEnv* env, jobject this, jstring s)
7
{
8
  jclass cls;
9
  jfieldID fid;
10
  jobject obj;
11
  jmethodID mid;
12
 
13
  printf("From C\n");
14
  fflush(stdout);
15
 
16
  cls = (*env)->FindClass(env, "java/lang/System");
17
  if (cls == 0) {
18
    printf("java/lang/System lookup failed\n");
19
    return;
20
  }
21
  fid = (*env)->GetStaticFieldID(env, cls, "out", "Ljava/io/PrintStream;");
22
  if (fid == 0) {
23
    printf("java/lang/System::out lookup failed\n");
24
    return;
25
  }
26
  obj = (*env)->GetStaticObjectField(env, cls, fid);
27
  if (obj == 0) {
28
    printf("GetStaticObjectField call failed\n");
29
    return;
30
  }
31
  cls = (*env)->GetObjectClass(env, obj);
32
  if (cls == 0) {
33
    printf("GetObjectClass(out) failed\n");
34
    return;
35
  }
36
  mid = (*env)->GetMethodID(env, cls, "println", "(Ljava/lang/String;)V");
37
  if (mid == 0) {
38
    printf("println method lookup failed\n");
39
    return;
40
  }
41
  (*env)->CallVoidMethod(env, obj, mid, s);
42
}
43
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.