From 1b38125a351762b5f269822d4af61c16f53a6ddc Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Fri, 4 Nov 2005 15:08:18 +0000
Subject: [PATCH] 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.

From-SVN: r106490
---
 libjava/ChangeLog                        |  9 +++++
 libjava/gnu/gcj/convert/IOConverter.java | 51 ++++++++++++++----------
 libjava/scripts/encodings.pl             | 21 ++++++++--
 3 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d761055a2113..da005155395b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2005-11-04  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.
+
 2005-11-04  Kaz Kojima  <kkojima@gcc.gnu.org>
 
 	* include/sh-signal.h (MAKE_THROW_FRAME): Remove trailing whitespace.
diff --git a/libjava/gnu/gcj/convert/IOConverter.java b/libjava/gnu/gcj/convert/IOConverter.java
index 2c6849ce7a37..a0d46677670a 100644
--- a/libjava/gnu/gcj/convert/IOConverter.java
+++ b/libjava/gnu/gcj/convert/IOConverter.java
@@ -28,6 +28,8 @@ public abstract class IOConverter
     // 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(),
@@ -35,39 +37,44 @@ public abstract class IOConverter
     // 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 ("latin1", "8859_1");
+    hash.put ("iso_8859-1:1987", "8859_1");
     hash.put ("l1", "8859_1");
-    hash.put ("ibm819", "8859_1");
-    hash.put ("cp819", "8859_1");
-    hash.put ("csisolatin1", "8859_1");
-    hash.put ("utf-8", "UTF8");
-    hash.put ("none", "UTF8");
-    hash.put ("shift_jis", "SJIS");
+    hash.put ("latin1", "8859_1");
     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 ("shift_jis", "SJIS");
+    hash.put ("us", "ASCII");
+    hash.put ("us-ascii", "ASCII");
+    hash.put ("utf-8", "UTF8");
+    hash.put ("utf16-be", "UnicodeBig");
+    hash.put ("utf16-le", "UnicodeLittle");
+    // End script-generated section.
+
     iconv_byte_swap = iconv_init ();
   }
 
diff --git a/libjava/scripts/encodings.pl b/libjava/scripts/encodings.pl
index 5e802c1f5fcb..9af108769855 100644
--- a/libjava/scripts/encodings.pl
+++ b/libjava/scripts/encodings.pl
@@ -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 @@ else
     $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 @@ while (<INPUT>)
 	$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";
+}
-- 
GitLab