Patch: FYI: PRs 14358, 24552
Tom Tromey
tromey@redhat.com
Mon Oct 31 19:41:00 GMT 2005
I'm checking this in on the 4.0 branch.
I will put it on the trunk once it is open for bug fixes.
This fixes PRs 14358 and 24552. It updates the encodings.pl script
and regenerates the list of encoding aliases. It also adds a couple
new hand-maintained aliases.
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
PR libgcj/14358, libgcj/24552:
* gnu/gcj/convert/IOConverter.java: Regenerate aliases. Add
aliases for 'euc_jp' and 'eucjp'.
* scripts/encodings.pl: Recognize 'none', not 'NONE'. Include
canonical names in output.
(%map): Added UnicodeLittle and UnicodeBig.
Index: scripts/encodings.pl
===================================================================
--- scripts/encodings.pl (revision 106281)
+++ scripts/encodings.pl (working copy)
@@ -8,7 +8,9 @@
'ISO_8859-1:1987' => '8859_1',
'UTF-8' => 'UTF8',
'Shift_JIS' => 'SJIS',
- 'Extended_UNIX_Code_Packed_Format_for_Japanese' => 'EUCJIS'
+ 'Extended_UNIX_Code_Packed_Format_for_Japanese' => 'EUCJIS',
+ 'UTF16-LE' => 'UnicodeLittle',
+ 'UTF16-BE' => 'UnicodeBig'
);
if ($ARGV[0] eq '')
@@ -25,6 +27,12 @@
$file = $ARGV[0];
}
+# Include canonical names in the output.
+foreach $key (keys %map)
+{
+ $output{lc ($key)} = $map{$key};
+}
+
open (INPUT, "< $file") || die "couldn't open $file: $!";
$body = 0;
@@ -50,17 +58,22 @@
$current = $map{$name};
if ($current)
{
- print " hash.put (\"$lower\", \"$current\");\n";
+ $output{$lower} = $current;
}
}
elsif ($type eq 'Alias:')
{
# The IANA list has some ugliness.
- if ($name ne '' && $name ne 'NONE' && $current)
+ if ($name ne '' && $lower ne 'none' && $current)
{
- print " hash.put (\"$lower\", \"$current\");\n";
+ $output{$lower} = $current;
}
}
}
close (INPUT);
+
+foreach $key (sort keys %output)
+{
+ print " hash.put (\"$key\", \"$output{$key}\");\n";
+}
Index: gnu/gcj/convert/IOConverter.java
===================================================================
--- gnu/gcj/convert/IOConverter.java (revision 106281)
+++ gnu/gcj/convert/IOConverter.java (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation
+/* Copyright (C) 2000, 2001, 2005 Free Software Foundation
This file is part of libgcj.
@@ -28,44 +28,53 @@
// canonical name.
hash.put ("iso-latin-1", "8859_1");
hash.put ("iso8859_1", "8859_1");
+ hash.put ("utf-16le", "UnicodeLittle");
+ hash.put ("utf-16be", "UnicodeBig");
+ // At least one build script out there uses 'utf8'.
+ hash.put ("utf8", "UTF8");
// 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 the problem by adding an
// explicit alias for Solaris users.
hash.put ("646", "ASCII");
+
+ // See PR 24552, PR 14358.
+ hash.put ("euc_jp", "EUCJIS");
+ hash.put ("eucjp", "EUCJIS");
+
// All aliases after this point are automatically generated by the
// `encodings.pl' script. Run it to make any corrections.
hash.put ("ansi_x3.4-1968", "ASCII");
- hash.put ("iso-ir-6", "ASCII");
hash.put ("ansi_x3.4-1986", "ASCII");
- hash.put ("iso_646.irv:1991", "ASCII");
hash.put ("ascii", "ASCII");
- hash.put ("iso646-us", "ASCII");
- hash.put ("us-ascii", "ASCII");
- hash.put ("us", "ASCII");
- hash.put ("ibm367", "ASCII");
hash.put ("cp367", "ASCII");
+ hash.put ("cp819", "8859_1");
hash.put ("csascii", "ASCII");
- hash.put ("iso_8859-1:1987", "8859_1");
+ hash.put ("cseucpkdfmtjapanese", "EUCJIS");
+ hash.put ("csisolatin1", "8859_1");
+ hash.put ("csshiftjis", "SJIS");
+ hash.put ("euc-jp", "EUCJIS");
+ hash.put ("extended_unix_code_packed_format_for_japanese", "EUCJIS");
+ hash.put ("ibm367", "ASCII");
+ hash.put ("ibm819", "8859_1");
+ hash.put ("iso-8859-1", "8859_1");
hash.put ("iso-ir-100", "8859_1");
+ hash.put ("iso-ir-6", "ASCII");
+ hash.put ("iso646-us", "ASCII");
+ hash.put ("iso_646.irv:1991", "ASCII");
hash.put ("iso_8859-1", "8859_1");
- hash.put ("iso-8859-1", "8859_1");
+ hash.put ("iso_8859-1:1987", "8859_1");
+ hash.put ("l1", "8859_1");
hash.put ("latin1", "8859_1");
- hash.put ("l1", "8859_1");
- hash.put ("ibm819", "8859_1");
- hash.put ("cp819", "8859_1");
- hash.put ("csisolatin1", "8859_1");
+ hash.put ("ms_kanji", "SJIS");
+ hash.put ("shift_jis", "SJIS");
+ hash.put ("us", "ASCII");
+ hash.put ("us-ascii", "ASCII");
hash.put ("utf-8", "UTF8");
- hash.put ("none", "UTF8");
- hash.put ("shift_jis", "SJIS");
- hash.put ("ms_kanji", "SJIS");
- hash.put ("csshiftjis", "SJIS");
- hash.put ("extended_unix_code_packed_format_for_japanese", "EUCJIS");
- hash.put ("cseucpkdfmtjapanese", "EUCJIS");
- hash.put ("euc-jp", "EUCJIS");
- hash.put ("euc-jp", "EUCJIS");
- hash.put ("utf-16le", "UnicodeLittle");
- hash.put ("utf-16be", "UnicodeBig");
+ hash.put ("utf16-be", "UnicodeBig");
+ hash.put ("utf16-le", "UnicodeLittle");
+ // End script-generated section.
+
iconv_byte_swap = iconv_init ();
}
More information about the Java-patches
mailing list