aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog8
-rw-r--r--libjava/jni.cc10
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 <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.
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