From: Tom Tromey Date: Mon, 2 Apr 2001 19:52:39 +0000 (+0000) Subject: jni.cc (add_char): Correctly encode non-ascii characters. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5152512c2ee4076275d88c21f2421e07b4f861dd;p=gcc.git 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 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 259ba867723..29885aa1b34 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 7fac86ee126..b60823ee893 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