]> granicus.if.org Git - php/commit
Fix #79200: Some iconv functions cut Windows-1258
authorChristoph M. Becker <cmbecker69@gmx.de>
Mon, 16 Mar 2020 12:09:16 +0000 (13:09 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 23 Mar 2020 13:12:37 +0000 (14:12 +0100)
commit32a26443052a734f7c24434497a0c9a2210607eb
tree1a7bcb49f48b28e051f75ff19391f2fb99d15ebc
parent47c745555c9000706cd4de7fffc6e1c2f18d5521
Fix #79200: Some iconv functions cut Windows-1258

To cater to potentially state-dependent encodings, we have to reset the
conversion descriptor into its initial shift state to properly finish
the conversion.  Furthermore, state-dependent encodings may not show
progress when comparing `in_left` before and after the conversion; we
rather have to see whether `out_left` has decreased.  Also we have to
cater to the fact that the final potentially state resetting call does
not signal failure, but we still have to break respective loops
afterwards.
NEWS
ext/iconv/iconv.c
ext/iconv/tests/bug79200.phpt [new file with mode: 0644]