From: Rui Hirokawa Date: Wed, 7 Sep 2011 14:30:06 +0000 (+0000) Subject: fixed invalid utf-8 check. X-Git-Tag: php-5.5.0alpha1~1229 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=36378d34f8b3c89da782460db8d3919868e1dfc7;p=php fixed invalid utf-8 check. --- diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 4167134432..ec7fab3564 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -101,10 +101,15 @@ int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) int s, c1, w = 0, flag = 0; if (c < 0x80) { + if (filter->status != 0) { + w = (filter->cache & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(w, filter->data)); + filter->status = 0; + filter->cache = 0; + } if (c >= 0) { CK((*filter->output_function)(c, filter->data)); } - filter->status = 0; } else if (c < 0xc0) { int status = filter->status & 0xff; switch (status) {