diff options
author | Bryce McKinlay <mckinlay@redhat.com> | 2004-05-26 18:45:26 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2004-05-26 19:45:26 +0100 |
commit | b9d861bc86c97e68ea474750bb33dfd10f72119d (patch) | |
tree | 83551097f3288d4fd1d2fd84346837d37b4dd7ba /gcc/java/lex.c | |
parent | e0885edbf5c198f300fec204b3688ecf5e6839ef (diff) | |
download | gcc-b9d861bc86c97e68ea474750bb33dfd10f72119d.zip gcc-b9d861bc86c97e68ea474750bb33dfd10f72119d.tar.gz gcc-b9d861bc86c97e68ea474750bb33dfd10f72119d.tar.bz2 |
lex.c (java_new_lexer): Set 'encoding'.
* lex.c (java_new_lexer): Set 'encoding'.
(java_read_char): Improve error message for unrecognized characters.
* lex.h (struct java_lexer): New field 'encoding'.
From-SVN: r82292
Diffstat (limited to 'gcc/java/lex.c')
-rw-r--r-- | gcc/java/lex.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/java/lex.c b/gcc/java/lex.c index 18c0a8a..de9b222 100644 --- a/gcc/java/lex.c +++ b/gcc/java/lex.c @@ -228,6 +228,7 @@ java_new_lexer (FILE *finput, const char *encoding) lex->bs_count = 0; lex->unget_value = 0; lex->hit_eof = 0; + lex->encoding = encoding; #ifdef HAVE_ICONV lex->handle = iconv_open ("UCS-2", encoding); @@ -295,7 +296,10 @@ java_new_lexer (FILE *finput, const char *encoding) enc_error = 1; #ifdef HAVE_ICONV else - lex->use_fallback = 1; + { + lex->use_fallback = 1; + lex->encoding = "UTF-8"; + } #endif /* HAVE_ICONV */ } @@ -430,8 +434,11 @@ java_read_char (java_lexer *lex) else { /* A more serious error. */ - java_lex_error ("unrecognized character in input stream", - 0); + char buffer[128]; + sprintf (buffer, + "Unrecognized character for encoding '%s'", + lex->encoding); + java_lex_error (buffer, 0); return UEOF; } } |