Skip to content

Commit

Permalink
Don't short-circuit MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE
Browse files Browse the repository at this point in the history
Make sure we always go through mbfl_filt_conv_illegal_output(), so
that the number of illegal characters gets counted.
  • Loading branch information
nikic committed Aug 9, 2019
1 parent 699b465 commit 7b15299
Show file tree
Hide file tree
Showing 54 changed files with 68 additions and 195 deletions.
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_armscii8.c
Expand Up @@ -133,9 +133,7 @@ int mbfl_filt_conv_wchar_armscii8(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_ascii.c
Expand Up @@ -94,9 +94,7 @@ int mbfl_filt_conv_wchar_ascii(int c, mbfl_convert_filter *filter)
if (c >= 0 && c < 0x80) {
CK((*filter->output_function)(c, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_big5.c
Expand Up @@ -319,9 +319,7 @@ mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp1251.c
Expand Up @@ -133,9 +133,7 @@ mbfl_filt_conv_wchar_cp1251(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp1252.c
Expand Up @@ -106,9 +106,7 @@ int mbfl_filt_conv_wchar_cp1252(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}
return c;
}
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp1254.c
Expand Up @@ -105,9 +105,7 @@ mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
20 changes: 5 additions & 15 deletions ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c
Expand Up @@ -563,9 +563,7 @@ mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down Expand Up @@ -776,9 +774,7 @@ mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)((s >> 8) & 0x7f, filter->data));
CK((*filter->output_function)(s & 0x7f, filter->data));
} else if (s < 0x10000) { /* X0212 */
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
} else { /* X 0201 latin */
if ((filter->status & 0xff00) != 0x400) {
CK((*filter->output_function)(0x1b, filter->data)); /* ESC */
Expand All @@ -789,9 +785,7 @@ mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down Expand Up @@ -928,9 +922,7 @@ mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)((s >> 8) & 0x7f, filter->data));
CK((*filter->output_function)(s & 0x7f, filter->data));
} else if (s < 0x10000) { /* X0212 */
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
} else { /* X 0201 latin */
if ((filter->status & 0xff00) == 0x500) {
CK((*filter->output_function)(0x0f, filter->data)); /* SO */
Expand All @@ -945,9 +937,7 @@ mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
6 changes: 1 addition & 5 deletions ext/mbstring/libmbfl/filters/mbfilter_cp51932.c
Expand Up @@ -294,14 +294,10 @@ mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data));
CK((*filter->output_function)((s1 & 0xff) | 0x80, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp850.c
Expand Up @@ -129,9 +129,7 @@ mbfl_filt_conv_wchar_cp850(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp866.c
Expand Up @@ -133,9 +133,7 @@ mbfl_filt_conv_wchar_cp866(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp932.c
Expand Up @@ -321,9 +321,7 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s2, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_cp936.c
Expand Up @@ -281,9 +281,7 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c
Expand Up @@ -207,9 +207,7 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c
Expand Up @@ -269,9 +269,7 @@ mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)((s & 0xff) | 0x80, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c
Expand Up @@ -373,9 +373,7 @@ mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)((s1 & 0xff) | 0x80, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c
Expand Up @@ -221,9 +221,7 @@ mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c
Expand Up @@ -270,9 +270,7 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}
return c;
}
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_gb18030.c
Expand Up @@ -412,9 +412,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_hz.c
Expand Up @@ -211,9 +211,7 @@ mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c
Expand Up @@ -408,9 +408,7 @@ mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s1 & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c
Expand Up @@ -263,9 +263,7 @@ mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s & 0xff, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c
Expand Up @@ -426,9 +426,7 @@ mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter)
CK((*filter->output_function)(s1 & 0x7f, filter->data));
}
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c
Expand Up @@ -91,9 +91,7 @@ int mbfl_filt_conv_wchar_8859_1(int c, mbfl_convert_filter *filter)
if (c >= 0 && c < 0x100) {
CK((*filter->output_function)(c, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c
Expand Up @@ -129,9 +129,7 @@ int mbfl_filt_conv_wchar_8859_10(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c
Expand Up @@ -129,9 +129,7 @@ int mbfl_filt_conv_wchar_8859_13(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c
Expand Up @@ -129,9 +129,7 @@ int mbfl_filt_conv_wchar_8859_14(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c
Expand Up @@ -129,9 +129,7 @@ int mbfl_filt_conv_wchar_8859_15(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c
Expand Up @@ -129,9 +129,7 @@ int mbfl_filt_conv_wchar_8859_16(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c
Expand Up @@ -130,9 +130,7 @@ int mbfl_filt_conv_wchar_8859_2(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c
Expand Up @@ -130,9 +130,7 @@ int mbfl_filt_conv_wchar_8859_3(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down
4 changes: 1 addition & 3 deletions ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c
Expand Up @@ -128,9 +128,7 @@ int mbfl_filt_conv_wchar_8859_4(int c, mbfl_convert_filter *filter)
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
CK(mbfl_filt_conv_illegal_output(c, filter));
}

return c;
Expand Down

0 comments on commit 7b15299

Please sign in to comment.