aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--iconvdata/ksc5601.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ec2c846214..459de93a83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}