From 5152512c2ee4076275d88c21f2421e07b4f861dd Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 2 Apr 2001 19:52:39 +0000 Subject: jni.cc (add_char): Correctly encode non-ascii characters. * jni.cc (add_char): Correctly encode non-ascii characters. (add_char): Define even when INTERPRETER not defined. (mangled_name): Likewise. (_Jv_GetJNIEnvNewFrame): Likewise. (_Jv_LookupJNIMethod): Likewise. From-SVN: r41010 --- libjava/ChangeLog | 8 ++++++++ libjava/jni.cc | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 259ba86..29885aa 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2001-03-30 Tom Tromey + + * jni.cc (add_char): Correctly encode non-ascii characters. + (add_char): Define even when INTERPRETER not defined. + (mangled_name): Likewise. + (_Jv_GetJNIEnvNewFrame): Likewise. + (_Jv_LookupJNIMethod): Likewise. + 2001-03-23 Kevin B Hendricks * configure.host: Enable interpreter for PPC. diff --git a/libjava/jni.cc b/libjava/jni.cc index 7fac86e..b60823e 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -1595,8 +1595,6 @@ _Jv_JNI_UnregisterNatives (JNIEnv *, jclass) -#ifdef INTERPRETER - // Add a character to the buffer, encoding properly. static void add_char (char *buf, jchar c, int *here) @@ -1622,8 +1620,8 @@ add_char (char *buf, jchar c, int *here) else if (c == '/' || c == '.') buf[(*here)++] = '_'; else if ((c >= '0' && c <= '9') - || (c >= 'a' && c <= 'z') - || (c >= 'A' && c <= 'Z')) + || (c >= 'a' && c <= 'z') + || (c >= 'A' && c <= 'Z')) buf[(*here)++] = (char) c; else { @@ -1633,7 +1631,7 @@ add_char (char *buf, jchar c, int *here) for (int i = 0; i < 4; ++i) { int val = c & 0x0f; - buf[(*here) + 4 - i] = (val > 10) ? ('a' + val - 10) : ('0' + val); + buf[(*here) + 3 - i] = (val > 10) ? ('a' + val - 10) : ('0' + val); c >>= 4; } *here += 4; @@ -1753,6 +1751,8 @@ _Jv_LookupJNIMethod (jclass klass, _Jv_Utf8Const *name, return function; } +#ifdef INTERPRETER + // This function is the stub which is used to turn an ordinary (CNI) // method call into a JNI call. void -- cgit v1.1