Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src lib/42209 various problems with EBCDIC support in iconv(3)



details:   https://anonhg.NetBSD.org/src/rev/b675d7341e54
branches:  trunk
changeset: 748665:b675d7341e54
user:      tnozaki <tnozaki%NetBSD.org@localhost>
date:      Sat Oct 31 15:06:52 2009 +0000

description:
lib/42209 various problems with EBCDIC support in iconv(3)
1. add EBCDIC-US conversion table.
2. RFC1345 have wrong conversion table, 0x00-0x1F is not EBCDIC but ISO-8.
(CP273 and CP1141 is not yet)

diffstat:

 distrib/sets/lists/base/mi                        |    4 +-
 share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE%UCS.src   |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE-A%UCS.src |  141 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-CA-FR%UCS.src   |  145 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-DK-NO%UCS.src   |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-DK-NO-A%UCS.src |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-ES%UCS.src      |  138 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-ES-A%UCS.src    |  138 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-ES-S%UCS.src    |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-FI-SE%UCS.src   |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-FI-SE-A%UCS.src |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-FR%UCS.src      |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-IT%UCS.src      |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-PT%UCS.src      |  142 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-UK%UCS.src      |  138 ++++---------
 share/i18n/csmapper/EBCDIC/EBCDIC-US%UCS.src      |   90 ++++++++
 share/i18n/csmapper/EBCDIC/EBCDIC.part            |    3 +-
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE-A.src |  177 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE.src   |  184 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-CA-FR.src   |  228 ++++++++-------------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-DK-NO-A.src |  180 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-DK-NO.src   |  190 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES-A.src    |  183 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES-S.src    |  191 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES.src      |  190 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FI-SE-A.src |  180 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FI-SE.src   |  186 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FR.src      |  186 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-IT.src      |  186 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-PT.src      |  186 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-UK.src      |  188 ++++++-----------
 share/i18n/csmapper/EBCDIC/UCS%EBCDIC-US.src      |   90 ++++++++
 share/i18n/esdb/EBCDIC/EBCDIC.alias               |    4 +-
 share/i18n/esdb/EBCDIC/EBCDIC.part                |    3 +-
 34 files changed, 1767 insertions(+), 3040 deletions(-)

diffs (truncated from 5606 to 300 lines):

diff -r fc6e81102f03 -r b675d7341e54 distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi        Sat Oct 31 14:30:55 2009 +0000
+++ b/distrib/sets/lists/base/mi        Sat Oct 31 15:06:52 2009 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.836 2009/10/25 04:38:05 christos Exp $
+# $NetBSD: mi,v 1.837 2009/10/31 15:06:52 tnozaki Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -1785,6 +1785,7 @@
 ./usr/share/i18n/csmapper/EBCDIC/EBCDIC-IT%UCS.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/EBCDIC-PT%UCS.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/EBCDIC-UK%UCS.mps     base-sysutil-share      nls
+./usr/share/i18n/csmapper/EBCDIC/EBCDIC-US%UCS.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE-A.mps        base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE.mps  base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-CA-FR.mps  base-sysutil-share      nls
@@ -1799,6 +1800,7 @@
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-IT.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-PT.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-UK.mps     base-sysutil-share      nls
+./usr/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-US.mps     base-sysutil-share      nls
 ./usr/share/i18n/csmapper/GB                   base-sysutil-share
 ./usr/share/i18n/csmapper/GB/GB12345%UCS.mps   base-sysutil-share      nls
 ./usr/share/i18n/csmapper/GB/GB18030%UCS%BMP.mps@localhost     base-sysutil-share      nls
diff -r fc6e81102f03 -r b675d7341e54 share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE%UCS.src
--- a/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE%UCS.src   Sat Oct 31 14:30:55 2009 +0000
+++ b/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE%UCS.src   Sat Oct 31 15:06:52 2009 +0000
@@ -1,48 +1,51 @@
-# $NetBSD: EBCDIC-AT-DE%UCS.src,v 1.2 2003/07/12 16:11:07 tshiozak Exp $
+# $NetBSD: EBCDIC-AT-DE%UCS.src,v 1.3 2009/10/31 15:06:52 tnozaki Exp $
 
 TYPE           ROWCOL
 NAME           "EBCDIC-AT-DE/UCS"
 SRC_ZONE       0x00 - 0xFF
 OOB_MODE       ILSEQ
-DST_ILSEQ      0x40
-DST_UNIT_BITS  8
+DST_ILSEQ      0xFFFE
+DST_UNIT_BITS  16
 
 BEGIN_MAP
 #
-# This table is generated from RFC1345.
+# This table is generated from RFC1345 and:
+# http://www-03.ibm.com/systems/i/software/globalization/controlcodes.html
 #
-0x00 = 0x0000
-0x01 = 0x0001
-0x02 = 0x0002
-0x03 = 0x0003
-0x04 = 0x0004
-0x05 = 0x0005
-0x06 = 0x0006
-0x07 = 0x0007
-0x08 = 0x0008
-0x09 = 0x0009
-0x0A = 0x000A
-0x0B = 0x000B
-0x0C = 0x000C
-0x0D = 0x000D
-0x0E = 0x000E
-0x0F = 0x000F
-0x10 = 0x0010
-0x11 = 0x0011
-0x12 = 0x0012
-0x13 = 0x0013
-0x14 = 0x0014
-0x15 = 0x0015
-0x16 = 0x0016
-0x17 = 0x0017
+0x00 - 0x03 = 0x0000 -
+0x04 = 0x009C
+0x05 = 0x0009
+0x06 = 0x0086
+0x07 = 0x007F
+0x08 = 0x0097
+0x09 = 0x008D
+0x0A = 0x008E
+0x0B - 0x13 = 0x000B -
+0x14 = 0x009D
+0x15 = 0x0085
+0x16 = 0x0008
+0x17 = 0x0087
 0x18 = 0x0018
 0x19 = 0x0019
-0x1A = 0x001A
-0x1B = 0x001B
-0x1C = 0x001C
-0x1D = 0x001D
-0x1E = 0x001E
-0x1F = 0x001F
+0x1A = 0x0092
+0x1B = 0x008F
+0x1C - 0x1F = 0x001C -
+0x20 - 0x24 = 0x0080 -
+0x25 = 0x000A
+0x26 = 0x0017
+0x27 = 0x001B
+0x28 - 0x2C = 0x0088 -
+0x2D - 0x2F = 0x0005 -
+0x30 = 0x0090
+0x31 = 0x0091
+0x32 = 0x0016
+0x33 - 0x36 = 0x0093 -
+0x37 = 0x0004
+0x38 - 0x3B = 0x0098 -
+0x3C = 0x0014
+0x3D = 0x0015
+0x3E = 0x009E
+0x3F = 0x001A
 0x40 = 0x0020
 0x4A = 0x00C4
 0x4B = 0x002E
@@ -72,71 +75,16 @@
 0x7D = 0x0027
 0x7E = 0x003D
 0x7F = 0x0022
-0x81 = 0x0061
-0x82 = 0x0062
-0x83 = 0x0063
-0x84 = 0x0064
-0x85 = 0x0065
-0x86 = 0x0066
-0x87 = 0x0067
-0x88 = 0x0068
-0x89 = 0x0069
-0x91 = 0x006A
-0x92 = 0x006B
-0x93 = 0x006C
-0x94 = 0x006D
-0x95 = 0x006E
-0x96 = 0x006F
-0x97 = 0x0070
-0x98 = 0x0071
-0x99 = 0x0072
+0x81 - 0x89 = 0x0061 -
+0x91 - 0x99 = 0x006A -
 0xA1 = 0x00DF
-0xA2 = 0x0073
-0xA3 = 0x0074
-0xA4 = 0x0075
-0xA5 = 0x0076
-0xA6 = 0x0077
-0xA7 = 0x0078
-0xA8 = 0x0079
-0xA9 = 0x007A
+0xA2 - 0xA9 = 0x0073 -
 0xC0 = 0x00E4
-0xC1 = 0x0041
-0xC2 = 0x0042
-0xC3 = 0x0043
-0xC4 = 0x0044
-0xC5 = 0x0045
-0xC6 = 0x0046
-0xC7 = 0x0047
-0xC8 = 0x0048
-0xC9 = 0x0049
+0xC1 - 0xC9 = 0x0041 -
 0xD0 = 0x00FC
-0xD1 = 0x004A
-0xD2 = 0x004B
-0xD3 = 0x004C
-0xD4 = 0x004D
-0xD5 = 0x004E
-0xD6 = 0x004F
-0xD7 = 0x0050
-0xD8 = 0x0051
-0xD9 = 0x0052
+0xD1 - 0xD9 = 0x004A -
 0xE0 = 0x00D6
-0xE2 = 0x0053
-0xE3 = 0x0054
-0xE4 = 0x0055
-0xE5 = 0x0056
-0xE6 = 0x0057
-0xE7 = 0x0058
-0xE8 = 0x0059
-0xE9 = 0x005A
-0xF0 = 0x0030
-0xF1 = 0x0031
-0xF2 = 0x0032
-0xF3 = 0x0033
-0xF4 = 0x0034
-0xF5 = 0x0035
-0xF6 = 0x0036
-0xF7 = 0x0037
-0xF8 = 0x0038
-0xF9 = 0x0039
-0xFF = 0x007F
+0xE2 - 0xE9 = 0x0053 -
+0xF0 - 0xF0 = 0x0030 -
+0xFF = 0x009F
 END_MAP
diff -r fc6e81102f03 -r b675d7341e54 share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE-A%UCS.src
--- a/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE-A%UCS.src Sat Oct 31 14:30:55 2009 +0000
+++ b/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE-A%UCS.src Sat Oct 31 15:06:52 2009 +0000
@@ -1,47 +1,51 @@
-# $NetBSD: EBCDIC-AT-DE-A%UCS.src,v 1.2 2003/07/12 16:11:07 tshiozak Exp $
+# $NetBSD: EBCDIC-AT-DE-A%UCS.src,v 1.3 2009/10/31 15:06:52 tnozaki Exp $
 
 TYPE           ROWCOL
 NAME           "EBCDIC-AT-DE-A/UCS"
 SRC_ZONE       0x00 - 0xFF
 OOB_MODE       ILSEQ
-DST_ILSEQ      0x21
-DST_UNIT_BITS  8
+DST_ILSEQ      0xFFFE
+DST_UNIT_BITS  16
 
 BEGIN_MAP
 #
-# This table is generated from RFC1345.
+# This table is generated from RFC1345 and:
+# http://www-03.ibm.com/systems/i/software/globalization/controlcodes.html
 #
-0x00 = 0x0000
-0x01 = 0x0001
-0x02 = 0x0002
-0x03 = 0x0003
-0x04 = 0x0004
-0x05 = 0x0005
-0x06 = 0x0006
-0x07 = 0x0007
-0x08 = 0x0008
-0x09 = 0x0009
-0x0A = 0x000A
-0x0B = 0x000B
-0x0C = 0x000C
-0x0D = 0x000D
-0x0E = 0x000E
-0x0F = 0x000F
-0x10 = 0x0010
-0x11 = 0x0011
-0x12 = 0x0012
-0x13 = 0x0013
-0x14 = 0x0014
-0x15 = 0x0015
-0x16 = 0x0016
-0x17 = 0x0017
+0x00 - 0x03 = 0x0000 -
+0x04 = 0x009C
+0x05 = 0x0009
+0x06 = 0x0086
+0x07 = 0x007F
+0x08 = 0x0097
+0x09 = 0x008D
+0x0A = 0x008E
+0x0B - 0x13 = 0x000B -
+0x14 = 0x009D
+0x15 = 0x0085
+0x16 = 0x0008
+0x17 = 0x0087
 0x18 = 0x0018
 0x19 = 0x0019
-0x1A = 0x001A
-0x1B = 0x001B
-0x1C = 0x001C
-0x1D = 0x001D
-0x1E = 0x001E
+0x1A = 0x0092
+0x1B = 0x008F
+0x1C - 0x1F = 0x001C -
+0x20 - 0x24 = 0x0080 -
+0x25 = 0x000A
+0x26 = 0x0017
+0x27 = 0x001B
+0x28 - 0x2C = 0x0088 -
+0x2D - 0x2F = 0x0005 -
+0x30 = 0x0090
+0x31 = 0x0091
+0x32 = 0x0016
+0x33 - 0x36 = 0x0093 -
+0x37 = 0x0004
+0x38 - 0x3B = 0x0098 -
+0x3C = 0x0014
+0x3D = 0x0015
+0x3E = 0x009E
+0x3F = 0x001A
 0x1F = 0x001F
 0x40 = 0x0020
 0x4A = 0x00F6
@@ -71,67 +75,12 @@
 0x7D = 0x0027
 0x7E = 0x003D
 0x7F = 0x00E4
-0x81 = 0x0061
-0x82 = 0x0062
-0x83 = 0x0063
-0x84 = 0x0064
-0x85 = 0x0065
-0x86 = 0x0066
-0x87 = 0x0067
-0x88 = 0x0068
-0x89 = 0x0069
-0x91 = 0x006A
-0x92 = 0x006B
-0x93 = 0x006C
-0x94 = 0x006D
-0x95 = 0x006E



Home | Main Index | Thread Index | Old Index