diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | iconvdata/ksc5601.h | 7 |
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2000-06-05 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/ksc5601.h (ksc5601_to_ucs4): Undo *s in all cases of + an error. + 2000-06-04 Ulrich Drepper <drepper@redhat.com> * iconv/gconv_dl.c (do_release_shlib): Don't reset reference diff --git a/iconvdata/ksc5601.h b/iconvdata/ksc5601.h index d0b1b0cab6..7fbd41f571 100644 --- a/iconvdata/ksc5601.h +++ b/iconvdata/ksc5601.h @@ -72,14 +72,15 @@ ksc5601_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset) if (idx >= 1410 && idx < 1410 + KSC5601_HANGUL) return (__ksc5601_hangul_to_ucs[idx - 1410] - ?: ((*s) -= 2, __UNKNOWN_10646_CHAR)); + ?: (*s -= 2, __UNKNOWN_10646_CHAR)); else if (idx >= 3854) /* Hanja : row 42 - row 93 : 3854 = 94 * (42-1) */ return (__ksc5601_hanja_to_ucs[idx - 3854] - ?: ((*s) -= 2, __UNKNOWN_10646_CHAR)); + ?: (*s -= 2, __UNKNOWN_10646_CHAR)); else if (idx <= 1114) - return __ksc5601_sym_to_ucs[idx] ?: ((*s) -= 2, __UNKNOWN_10646_CHAR); + return __ksc5601_sym_to_ucs[idx] ?: (*s -= 2, __UNKNOWN_10646_CHAR); + *s -= 2; return __UNKNOWN_10646_CHAR; } |