summary refs log tree commit diff
path: root/iconvdata/euc-jp.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-20 02:05:39 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-20 02:05:39 +0000
commite2806aaf5d84e7eb63cc11633e9e833d8d1421b5 (patch)
treee0a2a4cc43c8d9e955724fe2e2823e4f76623085 /iconvdata/euc-jp.c
parent602c2f9d9d4995ecab62f2ee22c1a09741e6b1a5 (diff)
downloadglibc-e2806aaf5d84e7eb63cc11633e9e833d8d1421b5.tar.gz
glibc-e2806aaf5d84e7eb63cc11633e9e833d8d1421b5.tar.xz
glibc-e2806aaf5d84e7eb63cc11633e9e833d8d1421b5.zip
Update.
2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/sjis.c (halfkana_to_ucs4): Remove array.
	(BODY for FROM_LOOP): Optimize the JISX0201:GR to Unicode conversion.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jp.c (BODY for FROM_LOOP): When encountering an
	invalid input (e.g. a byte > 0x80 followed by a byte < 0x80), skip
	always one byte, not 0 bytes in some cases and 2 bytes in others.

	* iconvdata/tst-table-from.c (main): Correct the usage message.

2002-04-19  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_expression): Fix incorrect error code.
	(parse_dup_op): Fix error handling like "a{}".
	(parse_bracket_exp): Add error handling.
	(fetch_number): Add error handling for "a{<very_large_number>}".

2002-04-19  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_bracket_symbol): Add error handling
	in case that the symbol name is too long.
	(build_charclass): Handle [:lower:]/[:uppper:] correctly
	in case of REG_ICASE.
Diffstat (limited to 'iconvdata/euc-jp.c')
-rw-r--r--iconvdata/euc-jp.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/iconvdata/euc-jp.c b/iconvdata/euc-jp.c
index 1a638994a3..3c55e440b2 100644
--- a/iconvdata/euc-jp.c
+++ b/iconvdata/euc-jp.c
@@ -63,12 +63,12 @@
     else								      \
       {									      \
 	/* Two or more byte character.  First test whether the next	      \
-	   character is also available.  */				      \
+	   byte is also available.  */					      \
 	int ch2;							      \
 									      \
 	if (__builtin_expect (inptr + 1 >= inend, 0))			      \
 	  {								      \
-	    /* The second character is not available.  Store the	      \
+	    /* The second byte is not available.  Store the		      \
 	       intermediate result.  */					      \
 	    result = __GCONV_INCOMPLETE_INPUT;				      \
 	    break;							      \
@@ -104,6 +104,10 @@
 		    result = __GCONV_ILLEGAL_INPUT;			      \
 		    break;						      \
 		  }							      \
+									      \
+		++inptr;						      \
+		++*irreversible;					      \
+		continue;						      \
 	      }								      \
 									      \
 	    inptr += 2;							      \
@@ -143,7 +147,7 @@
 		    break;						      \
 		  }							      \
 									      \
-		inptr += 2;						      \
+		++inptr;						      \
 		++*irreversible;					      \
 		continue;						      \
 	      }								      \