summary refs log tree commit diff
path: root/iconvdata/ansi_x3.110.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-31 22:47:52 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-31 22:47:52 +0000
commit5134584a32101dad1ed7691a25cf3309c2994e50 (patch)
treeb7b83f553d961412a644be3d7fe2e93c2a93a167 /iconvdata/ansi_x3.110.c
parent89533d414f8a24c12c9d5874077d4057bf4ffb6a (diff)
downloadglibc-5134584a32101dad1ed7691a25cf3309c2994e50.tar.gz
glibc-5134584a32101dad1ed7691a25cf3309c2994e50.tar.xz
glibc-5134584a32101dad1ed7691a25cf3309c2994e50.zip
Update.
2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/sjis.c (BODY for FROM_LOOP): Treat the case
	ch >= 0x81 && ch2 < 0x40 as invalid.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/uhc.c (BODY for FROM_LOOP): Reject ch2 == 0xff as invalid.
	(BODY for TO_LOOP): Accept 0x7f. Increment outptr as needed.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/johab.c (BODY for TO_LOOP): After calling
	ucs4_to_ksc5601_sym, fix the conversion to JOHAB.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/t.61.c (to_ucs4): Change values of 0xa4, 0a6, 0xa8, 0xb4,
	0xb8.
	(from_ucs4): Change values of U+00A4, U+00BB, U+00ED.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/macintosh.c (HAS_HOLES): Set to 1.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/iso_6937.c (to_ucs4): Change values of 0x24 and 0xb4.
	(from_ucs4): Change values of U+00A4 and U+00ED.
	(BODY of TO_LOOP): Remove mapping from U+02DC to 0x0020.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/ansi_x3.110.c (from_ucs4): Change entry for 0xed.
	(BODY for TO_LOOP): Map U+2122, U+2126, not U+2022, U+2026.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/Makefile (gen-8bit-gap-modules): Remove isiri-3342.
	* iconvdata/isiri-3342.h: New file.
	* iconvdata/isiri-3342.c (HAS_HOLES): Avoid gaps >= 0xe0, but don't
	treat 0x80 as a gap.

2000-07-30  Bruno Haible  <haible@clisp.cons.org>

	* string/strxfrm.c (encoding_mask, encoding_byte): Remove.
	(utf8_encode): Use simple shifts instead.  Fix return value.
Diffstat (limited to 'iconvdata/ansi_x3.110.c')
-rw-r--r--iconvdata/ansi_x3.110.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/iconvdata/ansi_x3.110.c b/iconvdata/ansi_x3.110.c
index d55af6fba7..ed312a0285 100644
--- a/iconvdata/ansi_x3.110.c
+++ b/iconvdata/ansi_x3.110.c
@@ -319,7 +319,7 @@ static const char from_ucs4[][2] =
   /* 0x00dc */ "\xc8\x55", "\xc2\x59", "\xec\x00", "\xfb\x00", "\xc1\x61",
   /* 0x00e1 */ "\xc2\x61", "\xc3\x61", "\xc4\x61", "\xc8\x61", "\xca\x61",
   /* 0x00e6 */ "\xf1\x00", "\xcb\x63", "\xc1\x65", "\xc2\x65", "\xc3\x65",
-  /* 0x00eb */ "\xc8\x65", "\xc1\x69", "\xc2\xe9", "\xc3\x69", "\xc8\x69",
+  /* 0x00eb */ "\xc8\x65", "\xc1\x69", "\xc2\x69", "\xc3\x69", "\xc8\x69",
   /* 0x00f0 */ "\xf3\x00", "\xc4\x6e", "\xc1\x6f", "\xc2\x6f", "\xc3\x6f",
   /* 0x00f5 */ "\xc4\x6f", "\xc8\x6f", "\xb8\x00", "\xf9\x00", "\xc1\x75",
   /* 0x00fa */ "\xc2\x75", "\xc3\x75", "\xc8\x75", "\xc2\x79", "\xfc\x00",
@@ -487,11 +487,10 @@ static const char from_ucs4[][2] =
 	    tmp[1] = ' ';						      \
 	    cp = tmp;							      \
 	  }								      \
-	else if (ch >= 0x2014 && ch <= 0x2026)				      \
+	else if (ch >= 0x2014 && ch <= 0x201d)				      \
 	  {								      \
-	    static const char map[19] =					      \
-	      "\xd0\x00\x00\x00\xa9\xb9\x00\x00\xaa\xba\x00\x00\x00\x00"      \
-	      "\xd4\x00\x00\x00\xe0";					      \
+	    static const char map[10] =					      \
+	      "\xd0\x00\x00\x00\xa9\xb9\x00\x00\xaa\xba";		      \
 									      \
 	    tmp[0] = map[ch - 0x2014];					      \
 	    if (tmp[0] == '\0')						      \
@@ -502,6 +501,20 @@ static const char from_ucs4[][2] =
 	    tmp[1] = '\0';						      \
 	    cp = tmp;							      \
 	  }								      \
+	else if (ch >= 0x2122 && ch <= 0x2126)				      \
+	  {								      \
+	    static const char map[5] =					      \
+	      "\xd4\x00\x00\x00\xe0";					      \
+									      \
+	    tmp[0] = map[ch - 0x2122];					      \
+	    if (tmp[0] == '\0')						      \
+	      {								      \
+		/* Illegal characters.  */				      \
+		STANDARD_ERR_HANDLER (4);				      \
+	      }								      \
+	    tmp[1] = '\0';						      \
+	    cp = tmp;							      \
+	  }								      \
 	else if (ch >= 0x215b && ch <= 0x215e)				      \
 	  {								      \
 	    tmp[0] = 0xdc + ch - 0x215b;				      \