]> granicus.if.org Git - php/commitdiff
MFH: fixed invalid utf-8 check.
authorRui Hirokawa <hirokawa@php.net>
Wed, 7 Sep 2011 14:30:38 +0000 (14:30 +0000)
committerRui Hirokawa <hirokawa@php.net>
Wed, 7 Sep 2011 14:30:38 +0000 (14:30 +0000)
ext/mbstring/libmbfl/filters/mbfilter_utf8.c

index 41671344328dd46cb9506dd306af55cb394a4575..ec7fab356402ff3dbb0d6030dfd4f6a94e7075f2 100644 (file)
@@ -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) {