diff options
Diffstat (limited to 'libjava/classpath/native/jni/xmlj/xmlj_util.c')
-rw-r--r-- | libjava/classpath/native/jni/xmlj/xmlj_util.c | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/libjava/classpath/native/jni/xmlj/xmlj_util.c b/libjava/classpath/native/jni/xmlj/xmlj_util.c index 498cb70923c..409eb6e75ab 100644 --- a/libjava/classpath/native/jni/xmlj/xmlj_util.c +++ b/libjava/classpath/native/jni/xmlj/xmlj_util.c @@ -39,6 +39,7 @@ exception statement from your version. */ #include "xmlj_error.h" #include <libxml/tree.h> #include <unistd.h> +#include <jcl.h> /* xmlChar->jstring cache */ #ifdef XMLJ_STRING_CACHE @@ -218,35 +219,13 @@ jmethodID xmljGetMethodID (JNIEnv *env, void * xmljAsPointer (JNIEnv *env, jobject ptr) { - jclass cls; - jfieldID field; - -#if defined XMLJ_64BIT_POINTER - cls = (*env)->FindClass (env, "gnu/classpath/RawData64"); - field = (*env)->GetFieldID (env, cls, "data", "J"); - return (void *) (*env)->GetLongField (env, ptr, field); -#else - cls = (*env)->FindClass (env, "gnu/classpath/RawData32"); - field = (*env)->GetFieldID (env, cls, "data", "I"); - return (void *) (*env)->GetIntField (env, ptr, field); -#endif + return JCL_GetRawData(env, ptr); } jobject xmljAsField (JNIEnv *env, void * ptr) { - jclass cls; - jmethodID method; - -#if defined XMLJ_64BIT_POINTER - cls = (*env)->FindClass (env, "gnu/classpath/RawData64"); - method = (*env)->GetMethodID (env, cls, "<init>", "(J)V"); - return (*env)->NewObject (env, cls, method, (jlong) ptr); -#else - cls = (*env)->FindClass (env, "gnu/classpath/RawData32"); - method = (*env)->GetMethodID (env, cls, "<init>", "(I)V"); - return (*env)->NewObject (env, cls, method, (jint) ptr); -#endif + return JCL_NewRawDataObject(env, ptr); } JNIEnv * |