2002-03-29 Martin Kahlert <martin.kahlert@infineon.com>
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Mar 2002 19:33:25 +0000 (19:33 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Mar 2002 19:33:25 +0000 (19:33 +0000)
* lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51566 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/lex.c

index 21be206..3006c85 100644 (file)
@@ -1,3 +1,7 @@
+2002-03-29  Martin Kahlert  <martin.kahlert@infineon.com>
+
+       * lex.c (java_new_lexer): Alias "646" to DEFAULT_ENCODING.
+
 2002-03-28  Tom Tromey  <tromey@redhat.com>
 
        * except.c (expand_end_java_handler): If the handler type is NULL,
index 8c66118..69e16b4 100644 (file)
@@ -290,8 +290,13 @@ java_new_lexer (finput, encoding)
       /* If iconv failed, use the internal decoder if the default
         encoding was requested.  This code is used on platforms where
         iconv exists but is insufficient for our needs.  For
-        instance, on Solaris 2.5 iconv cannot handle UTF-8 or UCS-2.  */
-      if (strcmp (encoding, DEFAULT_ENCODING))
+        instance, on Solaris 2.5 iconv cannot handle UTF-8 or UCS-2.
+
+        On Solaris the default encoding, as returned by nl_langinfo(),
+        is `646' (aka ASCII), but the Solaris iconv_open() doesn't
+        understand that.  We work around that by pretending
+        `646' to be the same as UTF-8.   */
+      if (strcmp (encoding, DEFAULT_ENCODING) && strcmp (encoding, "646"))
        enc_error = 1;
 #ifdef HAVE_ICONV
       else