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
This commit is contained in:
Tom Tromey 2001-04-02 19:52:39 +00:00 committed by Tom Tromey
parent 23ab86e452
commit 5152512c2e
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2001-03-30 Tom Tromey <tromey@redhat.com>
* 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 <khendricks@ivey.uwo.ca>
* configure.host: Enable interpreter for PPC.

View File

@ -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