From 0ffc1f55b39039c14e13f281d9dcc041b8ba71b7 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 16 Jul 2020 10:59:39 +0200 Subject: [PATCH] Refactor mbfl_ident.c, mbfl_encoding.c, mbfl_memory_device.c, mbfl_string.c - Make everything less gratuitously verbose - Don't litter the code with lots of unneeded NULL checks (for things which will never be NULL) - Don't return success/failure code from functions which can never fail - For encoding structs, don't use pointers to pointers to pointers for the list of alias strings. Pointers to pointers (2 levels of indirection) is what actually makes sense. This gets rid of some extraneous dereference operations. --- .../libmbfl/filters/mbfilter_armscii8.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_ascii.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 2 +- .../libmbfl/filters/mbfilter_cp1251.c | 2 +- .../libmbfl/filters/mbfilter_cp1252.c | 2 +- .../libmbfl/filters/mbfilter_cp1254.c | 2 +- .../libmbfl/filters/mbfilter_cp5022x.c | 4 +- .../libmbfl/filters/mbfilter_cp51932.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp850.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp866.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 2 +- .../libmbfl/filters/mbfilter_euc_cn.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 2 +- .../libmbfl/filters/mbfilter_euc_kr.c | 2 +- .../libmbfl/filters/mbfilter_euc_tw.c | 2 +- .../libmbfl/filters/mbfilter_gb18030.c | 2 +- .../libmbfl/filters/mbfilter_htmlent.c | 2 +- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 2 +- .../filters/mbfilter_iso2022jp_mobile.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_1.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_10.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_13.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_14.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_15.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_16.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_2.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_3.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_4.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_5.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_6.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_7.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_8.c | 2 +- .../libmbfl/filters/mbfilter_iso8859_9.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_koi8r.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_koi8u.c | 2 +- .../libmbfl/filters/mbfilter_qprint.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 2 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 2 +- .../libmbfl/filters/mbfilter_sjis_mac.c | 2 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 6 +- .../libmbfl/filters/mbfilter_sjis_open.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 2 +- .../libmbfl/filters/mbfilter_utf8_mobile.c | 8 +- ext/mbstring/libmbfl/mbfl/mbfilter.c | 15 +- ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfilter_pass.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 100 +++++------- ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 14 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 61 +++----- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 4 +- .../libmbfl/mbfl/mbfl_memory_device.c | 142 ++++++------------ .../libmbfl/mbfl/mbfl_memory_device.h | 2 - ext/mbstring/libmbfl/mbfl/mbfl_string.c | 25 +-- ext/mbstring/mbstring.c | 7 +- 63 files changed, 183 insertions(+), 307 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c index 38c8f98bd1..e2fa8d86ea 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c @@ -38,7 +38,7 @@ const mbfl_encoding mbfl_encoding_armscii8 = { mbfl_no_encoding_armscii8, "ArmSCII-8", "ArmSCII-8", - (const char *(*)[])&mbfl_encoding_armscii8_aliases, + mbfl_encoding_armscii8_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_armscii8_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c b/ext/mbstring/libmbfl/filters/mbfilter_ascii.c index 43d659a46c..4e02c26aac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ascii.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_ascii = { mbfl_no_encoding_ascii, "ASCII", "US-ASCII", /* preferred MIME name */ - (const char *(*)[])&mbfl_encoding_ascii_aliases, + mbfl_encoding_ascii_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_ascii_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index 1e59924092..95c75a37e3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_big5 = { mbfl_no_encoding_big5, "BIG-5", "BIG5", - (const char *(*)[])&mbfl_encoding_big5_aliases, + mbfl_encoding_big5_aliases, mblen_table_big5, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_big5_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c index 470adf1a08..af05b5ec6d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_cp1251 = { mbfl_no_encoding_cp1251, "Windows-1251", "Windows-1251", - (const char *(*)[])&mbfl_encoding_cp1251_aliases, + mbfl_encoding_cp1251_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_cp1251_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c index a274e4b796..1f6717d2ac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_cp1252 = { mbfl_no_encoding_cp1252, "Windows-1252", "Windows-1252", - (const char *(*)[])&mbfl_encoding_cp1252_aliases, + mbfl_encoding_cp1252_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_cp1252_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c index 7e4bb4b148..eebd5b322a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_cp1254 = { mbfl_no_encoding_cp1254, "Windows-1254", "Windows-1254", - (const char *(*)[])&mbfl_encoding_cp1254_aliases, + mbfl_encoding_cp1254_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_cp1254_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index c58f0a6c4f..798487d342 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_cp50220 = { mbfl_no_encoding_cp50220, "CP50220", "ISO-2022-JP", - (const char *(*)[])NULL, + NULL, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50220_wchar, @@ -70,7 +70,7 @@ const mbfl_encoding mbfl_encoding_cp50220raw = { mbfl_no_encoding_cp50220raw, "CP50220raw", "ISO-2022-JP", - (const char *(*)[])NULL, + NULL, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50220raw_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index da046c86b7..9b893bc638 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -68,7 +68,7 @@ const mbfl_encoding mbfl_encoding_cp51932 = { mbfl_no_encoding_cp51932, "CP51932", "CP51932", - (const char *(*)[])&mbfl_encoding_cp51932_aliases, + mbfl_encoding_cp51932_aliases, mblen_table_eucjp, MBFL_ENCTYPE_MBCS, &vtbl_cp51932_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c b/ext/mbstring/libmbfl/filters/mbfilter_cp850.c index 5d6b265fc1..d9d705f70f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp850.c @@ -35,7 +35,7 @@ const mbfl_encoding mbfl_encoding_cp850 = { mbfl_no_encoding_cp850, "CP850", "CP850", - (const char *(*)[])&mbfl_encoding_cp850_aliases, + mbfl_encoding_cp850_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_cp850_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c b/ext/mbstring/libmbfl/filters/mbfilter_cp866.c index 504903bef0..9c548627b0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp866.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_cp866 = { mbfl_no_encoding_cp866, "CP866", "CP866", - (const char *(*)[])&mbfl_encoding_cp866_aliases, + mbfl_encoding_cp866_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_cp866_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 3cbca1cb64..511d864465 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_cp932 = { mbfl_no_encoding_cp932, "CP932", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_cp932_aliases, + mbfl_encoding_cp932_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp932_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index df6d77907f..d73954267f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_cp936 = { mbfl_no_encoding_cp936, "CP936", "CP936", - (const char *(*)[])&mbfl_encoding_cp936_aliases, + mbfl_encoding_cp936_aliases, mblen_table_cp936, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp936_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index 53a8aac2a6..0a7edaa927 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_euc_cn = { mbfl_no_encoding_euc_cn, "EUC-CN", "CN-GB", - (const char *(*)[])&mbfl_encoding_euc_cn_aliases, + mbfl_encoding_euc_cn_aliases, mblen_table_euccn, MBFL_ENCTYPE_MBCS, &vtbl_euccn_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 252a10a58d..61da27f043 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_euc_jp = { mbfl_no_encoding_euc_jp, "EUC-JP", "EUC-JP", - (const char *(*)[])&mbfl_encoding_euc_jp_aliases, + mbfl_encoding_euc_jp_aliases, mblen_table_eucjp, MBFL_ENCTYPE_MBCS, &vtbl_eucjp_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index 30d869cea5..c6c708b337 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -40,7 +40,7 @@ const mbfl_encoding mbfl_encoding_eucjp2004 = { mbfl_no_encoding_eucjp2004, "EUC-JP-2004", "EUC-JP", - (const char *(*)[])&mbfl_encoding_eucjp2004_aliases, + mbfl_encoding_eucjp2004_aliases, mblen_table_eucjp, MBFL_ENCTYPE_MBCS, &vtbl_eucjp2004_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index dd426cae23..7c1aebdea5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -69,7 +69,7 @@ const mbfl_encoding mbfl_encoding_eucjp_win = { mbfl_no_encoding_eucjp_win, "eucJP-win", "EUC-JP", - (const char *(*)[])&mbfl_encoding_eucjp_win_aliases, + mbfl_encoding_eucjp_win_aliases, mblen_table_eucjp, MBFL_ENCTYPE_MBCS, &vtbl_eucjpwin_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index e9b08e08c1..0c44a99860 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -58,7 +58,7 @@ const mbfl_encoding mbfl_encoding_euc_kr = { mbfl_no_encoding_euc_kr, "EUC-KR", "EUC-KR", - (const char *(*)[])&mbfl_encoding_euc_kr_aliases, + mbfl_encoding_euc_kr_aliases, mblen_table_euckr, MBFL_ENCTYPE_MBCS, &vtbl_euckr_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index c76eeb36bf..74bca29d47 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_euc_tw = { mbfl_no_encoding_euc_tw, "EUC-TW", "EUC-TW", - (const char *(*)[])&mbfl_encoding_euc_tw_aliases, + mbfl_encoding_euc_tw_aliases, mblen_table_euctw, MBFL_ENCTYPE_MBCS, &vtbl_euctw_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index b94d664f40..ec6e3973a5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -41,7 +41,7 @@ const mbfl_encoding mbfl_encoding_gb18030 = { mbfl_no_encoding_gb18030, "GB18030", "GB18030", - (const char *(*)[])&mbfl_encoding_gb18030_aliases, + mbfl_encoding_gb18030_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_gb18030_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 7176fd4717..95a0817103 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -57,7 +57,7 @@ const mbfl_encoding mbfl_encoding_html_ent = { mbfl_no_encoding_html_ent, "HTML-ENTITIES", "HTML-ENTITIES", - (const char *(*)[])&mbfl_encoding_html_ent_aliases, + mbfl_encoding_html_ent_aliases, NULL, MBFL_ENCTYPE_GL_UNSAFE, &vtbl_html_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 1e9757eae6..32f4072ce2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -42,7 +42,7 @@ const mbfl_encoding mbfl_encoding_2022jpms = { mbfl_no_encoding_2022jpms, "ISO-2022-JP-MS", "ISO-2022-JP", - (const char *(*)[])&mbfl_encoding_2022jpms_aliases, + mbfl_encoding_2022jpms_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jpms_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 32ea47712e..00f0ddeda8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -44,7 +44,7 @@ const mbfl_encoding mbfl_encoding_2022jp_kddi = { mbfl_no_encoding_2022jp_kddi, "ISO-2022-JP-MOBILE#KDDI", "ISO-2022-JP", - (const char *(*)[])&mbfl_encoding_2022jp_kddi_aliases, + mbfl_encoding_2022jp_kddi_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jp_kddi_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c index 1549ba81bf..899234f3b0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_8859_1 = { mbfl_no_encoding_8859_1, "ISO-8859-1", "ISO-8859-1", - (const char *(*)[])&mbfl_encoding_8859_1_aliases, + mbfl_encoding_8859_1_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_1_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c index 12cd960a88..e82c52f4b6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_10 = { mbfl_no_encoding_8859_10, "ISO-8859-10", "ISO-8859-10", - (const char *(*)[])&mbfl_encoding_8859_10_aliases, + mbfl_encoding_8859_10_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_10_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c index 25526263b8..ec5d5348a3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_13 = { mbfl_no_encoding_8859_13, "ISO-8859-13", "ISO-8859-13", - (const char *(*)[])&mbfl_encoding_8859_13_aliases, + mbfl_encoding_8859_13_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_13_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c index 06a2e4cd98..ac5b9a40d9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_14 = { mbfl_no_encoding_8859_14, "ISO-8859-14", "ISO-8859-14", - (const char *(*)[])&mbfl_encoding_8859_14_aliases, + mbfl_encoding_8859_14_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_14_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c index 82b40796b8..7d9e21e5c3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_15 = { mbfl_no_encoding_8859_15, "ISO-8859-15", "ISO-8859-15", - (const char *(*)[])&mbfl_encoding_8859_15_aliases, + mbfl_encoding_8859_15_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_15_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c index 80f1461364..5c8ae964be 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_16 = { mbfl_no_encoding_8859_16, "ISO-8859-16", "ISO-8859-16", - (const char *(*)[])&mbfl_encoding_8859_16_aliases, + mbfl_encoding_8859_16_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_16_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c index 86044e15d3..deacf0c0f4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_2 = { mbfl_no_encoding_8859_2, "ISO-8859-2", "ISO-8859-2", - (const char *(*)[])&mbfl_encoding_8859_2_aliases, + mbfl_encoding_8859_2_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_2_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c index 64eb9b5cf9..3b1c0847ea 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_3 = { mbfl_no_encoding_8859_3, "ISO-8859-3", "ISO-8859-3", - (const char *(*)[])&mbfl_encoding_8859_3_aliases, + mbfl_encoding_8859_3_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_3_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c index 12a9f7cb10..263036f27b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_4 = { mbfl_no_encoding_8859_4, "ISO-8859-4", "ISO-8859-4", - (const char *(*)[])&mbfl_encoding_8859_4_aliases, + mbfl_encoding_8859_4_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_4_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c index 70496d07e7..b9a6132029 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_5 = { mbfl_no_encoding_8859_5, "ISO-8859-5", "ISO-8859-5", - (const char *(*)[])&mbfl_encoding_8859_5_aliases, + mbfl_encoding_8859_5_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_5_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c index 59d981e9c2..c010908689 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_6 = { mbfl_no_encoding_8859_6, "ISO-8859-6", "ISO-8859-6", - (const char *(*)[])&mbfl_encoding_8859_6_aliases, + mbfl_encoding_8859_6_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_6_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c index 73ead533ea..64763dbcfe 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_7 = { mbfl_no_encoding_8859_7, "ISO-8859-7", "ISO-8859-7", - (const char *(*)[])&mbfl_encoding_8859_7_aliases, + mbfl_encoding_8859_7_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_7_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c index 05ca13f330..6e4a7f322b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_8 = { mbfl_no_encoding_8859_8, "ISO-8859-8", "ISO-8859-8", - (const char *(*)[])&mbfl_encoding_8859_8_aliases, + mbfl_encoding_8859_8_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_8_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c index 074f90bef2..a2b87d1174 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_8859_9 = { mbfl_no_encoding_8859_9, "ISO-8859-9", "ISO-8859-9", - (const char *(*)[])&mbfl_encoding_8859_9_aliases, + mbfl_encoding_8859_9_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8859_9_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c index 7790be65bb..db00a73c4f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_koi8r = { mbfl_no_encoding_koi8r, "KOI8-R", "KOI8-R", - (const char *(*)[])&mbfl_encoding_koi8r_aliases, + mbfl_encoding_koi8r_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_koi8r_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c index a62a1c596b..54c06d2663 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_koi8u = { mbfl_no_encoding_koi8u, "KOI8-U", "KOI8-U", - (const char *(*)[])&mbfl_encoding_koi8u_aliases, + mbfl_encoding_koi8u_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_koi8u_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index 64097769b7..8f806def25 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -37,7 +37,7 @@ const mbfl_encoding mbfl_encoding_qprint = { mbfl_no_encoding_qprint, "Quoted-Printable", "Quoted-Printable", - (const char *(*)[])&mbfl_encoding_qprint_aliases, + mbfl_encoding_qprint_aliases, NULL, MBFL_ENCTYPE_GL_UNSAFE, NULL, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index dc5c2e4882..d993c89d7f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -63,7 +63,7 @@ const mbfl_encoding mbfl_encoding_sjis = { mbfl_no_encoding_sjis, "SJIS", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_aliases, + mbfl_encoding_sjis_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 04e1d3af17..e611f3f846 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -45,7 +45,7 @@ const mbfl_encoding mbfl_encoding_sjis2004 = { mbfl_no_encoding_sjis2004, "SJIS-2004", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis2004_aliases, + mbfl_encoding_sjis2004_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis2004_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index dc3d3692f4..ff8d01937f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -46,7 +46,7 @@ const mbfl_encoding mbfl_encoding_sjis_mac = { mbfl_no_encoding_sjis_mac, "SJIS-mac", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_mac_aliases, + mbfl_encoding_sjis_mac_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_mac_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 68084a0e0a..d5015a92a8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -47,7 +47,7 @@ const mbfl_encoding mbfl_encoding_sjis_docomo = { mbfl_no_encoding_sjis_docomo, "SJIS-Mobile#DOCOMO", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_docomo_aliases, + mbfl_encoding_sjis_docomo_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_docomo_wchar, @@ -58,7 +58,7 @@ const mbfl_encoding mbfl_encoding_sjis_kddi = { mbfl_no_encoding_sjis_kddi, "SJIS-Mobile#KDDI", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_kddi_aliases, + mbfl_encoding_sjis_kddi_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_kddi_wchar, @@ -69,7 +69,7 @@ const mbfl_encoding mbfl_encoding_sjis_sb = { mbfl_no_encoding_sjis_sb, "SJIS-Mobile#SOFTBANK", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_sb_aliases, + mbfl_encoding_sjis_sb_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_sb_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index 2535036e23..b3ec28740b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_sjis_open = { mbfl_no_encoding_sjis_open, "SJIS-win", "Shift_JIS", - (const char *(*)[])&mbfl_encoding_sjis_open_aliases, + mbfl_encoding_sjis_open_aliases, mblen_table_sjis, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_open_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 68172efbe6..9df11cb1d0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_ucs2 = { mbfl_no_encoding_ucs2, "UCS-2", "UCS-2", - (const char *(*)[])&mbfl_encoding_ucs2_aliases, + mbfl_encoding_ucs2_aliases, NULL, MBFL_ENCTYPE_WCS2BE, &vtbl_ucs2_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index fcdd20d615..396bae91c5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_ucs4 = { mbfl_no_encoding_ucs4, "UCS-4", "UCS-4", - (const char *(*)[])&mbfl_encoding_ucs4_aliases, + mbfl_encoding_ucs4_aliases, NULL, MBFL_ENCTYPE_WCS4BE, &vtbl_ucs4_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index 5dc4aa81a9..c86612bac2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_uhc = { mbfl_no_encoding_uhc, "UHC", "UHC", - (const char *(*)[])&mbfl_encoding_uhc_aliases, + mbfl_encoding_uhc_aliases, mblen_table_uhc, MBFL_ENCTYPE_MBCS, &vtbl_uhc_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index 7a9c70377e..54236769a2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_utf16 = { mbfl_no_encoding_utf16, "UTF-16", "UTF-16", - (const char *(*)[])&mbfl_encoding_utf16_aliases, + mbfl_encoding_utf16_aliases, NULL, MBFL_ENCTYPE_MWC2BE, &vtbl_utf16_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index b936ab4102..2566ff5476 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -36,7 +36,7 @@ const mbfl_encoding mbfl_encoding_utf32 = { mbfl_no_encoding_utf32, "UTF-32", "UTF-32", - (const char *(*)[])&mbfl_encoding_utf32_aliases, + mbfl_encoding_utf32_aliases, NULL, MBFL_ENCTYPE_WCS4BE, &vtbl_utf32_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index b54bcf2b9c..ed931a8b1f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -51,7 +51,7 @@ const mbfl_encoding mbfl_encoding_utf7 = { mbfl_no_encoding_utf7, "UTF-7", "UTF-7", - (const char *(*)[])&mbfl_encoding_utf7_aliases, + mbfl_encoding_utf7_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_utf7_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 9e97d5b069..3b7a76de47 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -57,7 +57,7 @@ const mbfl_encoding mbfl_encoding_utf8 = { mbfl_no_encoding_utf8, "UTF-8", "UTF-8", - (const char *(*)[])&mbfl_encoding_utf8_aliases, + mbfl_encoding_utf8_aliases, mblen_table_utf8, MBFL_ENCTYPE_MBCS, &vtbl_utf8_wchar, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index ef8d4cc075..8f50d22781 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -46,7 +46,7 @@ const mbfl_encoding mbfl_encoding_utf8_docomo = { mbfl_no_encoding_utf8_docomo, "UTF-8-Mobile#DOCOMO", "UTF-8", - (const char *(*)[])&mbfl_encoding_utf8_docomo_aliases, + mbfl_encoding_utf8_docomo_aliases, mblen_table_utf8, MBFL_ENCTYPE_MBCS, &vtbl_utf8_docomo_wchar, @@ -57,7 +57,7 @@ const mbfl_encoding mbfl_encoding_utf8_kddi_a = { mbfl_no_encoding_utf8_kddi_a, "UTF-8-Mobile#KDDI-A", "UTF-8", - (const char *(*)[])&mbfl_encoding_utf8_kddi_a_aliases, + mbfl_encoding_utf8_kddi_a_aliases, mblen_table_utf8, MBFL_ENCTYPE_MBCS, &vtbl_utf8_kddi_a_wchar, @@ -68,7 +68,7 @@ const mbfl_encoding mbfl_encoding_utf8_kddi_b = { mbfl_no_encoding_utf8_kddi_b, "UTF-8-Mobile#KDDI-B", "UTF-8", - (const char *(*)[])&mbfl_encoding_utf8_kddi_b_aliases, + mbfl_encoding_utf8_kddi_b_aliases, mblen_table_utf8, MBFL_ENCTYPE_MBCS, &vtbl_utf8_kddi_b_wchar, @@ -79,7 +79,7 @@ const mbfl_encoding mbfl_encoding_utf8_sb = { mbfl_no_encoding_utf8_sb, "UTF-8-Mobile#SOFTBANK", "UTF-8", - (const char *(*)[])&mbfl_encoding_utf8_sb_aliases, + mbfl_encoding_utf8_sb_aliases, mblen_table_utf8, MBFL_ENCTYPE_MBCS, &vtbl_utf8_sb_wchar, diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 793dd8e078..4bcaa70694 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -486,7 +486,7 @@ mbfl_convert_encoding( const mbfl_encoding * mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int elistsz, int strict) { - int i, num, bad; + int i, bad; size_t n; unsigned char *p; mbfl_identify_filter *flist, *filter; @@ -495,12 +495,9 @@ mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int eli /* flist is an array of mbfl_identify_filter instances */ flist = ecalloc(elistsz, sizeof(mbfl_identify_filter)); - num = 0; if (elist != NULL) { for (i = 0; i < elistsz; i++) { - if (!mbfl_identify_filter_init2(&flist[num], elist[i])) { - num++; - } + mbfl_identify_filter_init2(&flist[i], elist[i]); } } @@ -511,7 +508,7 @@ mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int eli if (p != NULL) { bad = 0; while (n > 0) { - for (i = 0; i < num; i++) { + for (i = 0; i < elistsz; i++) { filter = &flist[i]; if (!filter->flag) { (*filter->filter_function)(*p, filter); @@ -520,7 +517,7 @@ mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int eli } } } - if ((num - 1) <= bad && !strict) { + if ((elistsz - 1) <= bad && !strict) { break; } p++; @@ -531,7 +528,7 @@ mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int eli /* judge */ encoding = NULL; - for (i = 0; i < num; i++) { + for (i = 0; i < elistsz; i++) { filter = &flist[i]; if (!filter->flag) { if (strict && filter->status) { @@ -544,7 +541,7 @@ mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int eli /* fall-back judge */ if (!encoding) { - for (i = 0; i < num; i++) { + for (i = 0; i < elistsz; i++) { filter = &flist[i]; if (!filter->flag && (!strict || !filter->status)) { encoding = filter->encoding; diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c index f4c74946c1..4017829cf8 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_8bit = { mbfl_no_encoding_8bit, "8bit", "8bit", - (const char *(*)[])&mbfl_encoding_8bit_aliases, + mbfl_encoding_8bit_aliases, NULL, MBFL_ENCTYPE_SBCS, &vtbl_8bit_wchar, diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c index 3d7cffe9c1..e43f746ecc 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c @@ -38,7 +38,7 @@ const mbfl_encoding mbfl_encoding_pass = { mbfl_no_encoding_pass, "pass", NULL, - (const char *(*)[])&mbfl_encoding_pass_aliases, + mbfl_encoding_pass_aliases, NULL, 0, NULL, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index 3ecb06553d..f740f7aec1 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -199,44 +199,32 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { NULL }; -/* encoding resolver */ -const mbfl_encoding * -mbfl_name2encoding(const char *name) +const mbfl_encoding *mbfl_name2encoding(const char *name) { - const mbfl_encoding *encoding; - int i, j; + const mbfl_encoding **encoding; - if (name == NULL) { - return NULL; - } - - i = 0; - while ((encoding = mbfl_encoding_ptr_list[i++]) != NULL){ - if (strcasecmp(encoding->name, name) == 0) { - return encoding; + for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { + if (strcasecmp((*encoding)->name, name) == 0) { + return *encoding; } } - /* serch MIME charset name */ - i = 0; - while ((encoding = mbfl_encoding_ptr_list[i++]) != NULL) { - if (encoding->mime_name != NULL) { - if (strcasecmp(encoding->mime_name, name) == 0) { - return encoding; + /* search MIME charset name */ + for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { + if ((*encoding)->mime_name) { + if (strcasecmp((*encoding)->mime_name, name) == 0) { + return *encoding; } } } - /* serch aliases */ - i = 0; - while ((encoding = mbfl_encoding_ptr_list[i++]) != NULL) { - if (encoding->aliases != NULL) { - j = 0; - while ((*encoding->aliases)[j] != NULL) { - if (strcasecmp((*encoding->aliases)[j], name) == 0) { - return encoding; + /* search aliases */ + for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { + if ((*encoding)->aliases) { + for (const char **alias = (*encoding)->aliases; *alias; alias++) { + if (strcasecmp(*alias, name) == 0) { + return *encoding; } - j++; } } } @@ -244,63 +232,45 @@ mbfl_name2encoding(const char *name) return NULL; } -const mbfl_encoding * -mbfl_no2encoding(enum mbfl_no_encoding no_encoding) +const mbfl_encoding *mbfl_no2encoding(enum mbfl_no_encoding no_encoding) { - const mbfl_encoding *encoding; - int i; + const mbfl_encoding **encoding; - i = 0; - while ((encoding = mbfl_encoding_ptr_list[i++]) != NULL){ - if (encoding->no_encoding == no_encoding) { - return encoding; + for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { + if ((*encoding)->no_encoding == no_encoding) { + return *encoding; } } return NULL; } -enum mbfl_no_encoding -mbfl_name2no_encoding(const char *name) +enum mbfl_no_encoding mbfl_name2no_encoding(const char *name) { - const mbfl_encoding *encoding; - - encoding = mbfl_name2encoding(name); - if (encoding == NULL) { - return mbfl_no_encoding_invalid; - } else { - return encoding->no_encoding; - } + const mbfl_encoding *encoding = mbfl_name2encoding(name); + return encoding ? encoding->no_encoding : mbfl_no_encoding_invalid; } -const char * -mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding) +const char *mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding) { - const mbfl_encoding *encoding; - - encoding = mbfl_no2encoding(no_encoding); - if (encoding == NULL) { - return ""; - } else { - return encoding->name; - } + const mbfl_encoding *encoding = mbfl_no2encoding(no_encoding); + return encoding ? encoding->name : ""; } -const mbfl_encoding ** -mbfl_get_supported_encodings(void) +const mbfl_encoding **mbfl_get_supported_encodings(void) { return mbfl_encoding_ptr_list; } -const char * -mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding) +const char *mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding) { - const mbfl_encoding *encoding; + return mbfl_encoding_preferred_mime_name(mbfl_no2encoding(no_encoding)); +} - encoding = mbfl_no2encoding(no_encoding); - if (encoding != NULL && encoding->mime_name != NULL && encoding->mime_name[0] != '\0') { +const char *mbfl_encoding_preferred_mime_name(const mbfl_encoding *encoding) +{ + if (encoding->mime_name && encoding->mime_name[0] != '\0') { return encoding->mime_name; - } else { - return NULL; } + return NULL; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index 0b39153c9d..f945b5dd03 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -145,19 +145,19 @@ typedef struct _mbfl_encoding { enum mbfl_no_encoding no_encoding; const char *name; const char *mime_name; - const char *(*aliases)[]; + const char **aliases; const unsigned char *mblen_table; unsigned int flag; const struct mbfl_convert_vtbl *input_filter; const struct mbfl_convert_vtbl *output_filter; } mbfl_encoding; -MBFLAPI extern const mbfl_encoding * mbfl_name2encoding(const char *name); -MBFLAPI extern const mbfl_encoding * mbfl_no2encoding(enum mbfl_no_encoding no_encoding); +MBFLAPI extern const mbfl_encoding *mbfl_name2encoding(const char *name); +MBFLAPI extern const mbfl_encoding *mbfl_no2encoding(enum mbfl_no_encoding no_encoding); MBFLAPI extern enum mbfl_no_encoding mbfl_name2no_encoding(const char *name); -MBFLAPI extern const mbfl_encoding ** mbfl_get_supported_encodings(); -MBFLAPI extern const char * mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding); -MBFLAPI extern const char * mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding); - +MBFLAPI extern const mbfl_encoding **mbfl_get_supported_encodings(); +MBFLAPI extern const char *mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding); +MBFLAPI extern const char *mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding); +MBFLAPI extern const char *mbfl_encoding_preferred_mime_name(const mbfl_encoding *encoding); #endif /* MBFL_ENCODING_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 18144eb030..8e79bde65b 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -163,93 +163,67 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { NULL }; -/* - * identify filter - */ -const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding) +const struct mbfl_identify_vtbl* mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding) { - const struct mbfl_identify_vtbl * vtbl; - int i; + const struct mbfl_identify_vtbl** vtbl; - i = 0; - while ((vtbl = mbfl_identify_filter_list[i++]) != NULL) { - if (vtbl->encoding == encoding) { - break; + for (vtbl = mbfl_identify_filter_list; *vtbl; vtbl++) { + if ((*vtbl)->encoding == encoding) { + return *vtbl; } } - return vtbl; + return NULL; } mbfl_identify_filter *mbfl_identify_filter_new(enum mbfl_no_encoding encoding) { mbfl_identify_filter *filter = emalloc(sizeof(mbfl_identify_filter)); - if (mbfl_identify_filter_init(filter, encoding)) { - efree(filter); - return NULL; - } - + mbfl_identify_filter_init(filter, encoding); return filter; } mbfl_identify_filter *mbfl_identify_filter_new2(const mbfl_encoding *encoding) { mbfl_identify_filter *filter = emalloc(sizeof(mbfl_identify_filter)); - if (mbfl_identify_filter_init2(filter, encoding)) { - efree(filter); - return NULL; - } - + mbfl_identify_filter_init2(filter, encoding); return filter; } - -int mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding) +void mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding) { const mbfl_encoding *enc = mbfl_no2encoding(encoding); - return mbfl_identify_filter_init2(filter, enc ? enc: &mbfl_encoding_pass); + mbfl_identify_filter_init2(filter, enc ? enc : &mbfl_encoding_pass); } -int mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding) +void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding) { - const struct mbfl_identify_vtbl *vtbl; - - /* encoding structure */ filter->encoding = encoding; - - filter->status = 0; - filter->flag = 0; - filter->score = 0; + filter->status = filter->flag = filter->score = 0; /* setup the function table */ - vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); + const struct mbfl_identify_vtbl *vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); if (vtbl == NULL) { vtbl = &vtbl_identify_false; } filter->filter_ctor = vtbl->filter_ctor; filter->filter_function = vtbl->filter_function; - /* constructor */ (*filter->filter_ctor)(filter); - - return 0; } void mbfl_identify_filter_delete(mbfl_identify_filter *filter) { - if (filter == NULL) { - return; - } - - efree((void*)filter); + efree(filter); } void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter) { - filter->status = 0; - filter->flag = 0; + filter->status = filter->flag = 0; } +/* A (useless) filter which says that _every_ string is invalid in a certain encoding. + * Obviously, that cannot be true. Remove after all encodings have proper identify filters */ int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter) { filter->flag = 1; /* bad */ @@ -262,6 +236,7 @@ void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter) filter->flag = 1; } +/* For encodings in which _every_ possible input string is valid */ int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter) { return c; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index c9afd03fb4..39be183ef3 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -58,8 +58,8 @@ MBFLAPI extern const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(e MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new(enum mbfl_no_encoding encoding); MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new2(const mbfl_encoding *encoding); MBFLAPI extern void mbfl_identify_filter_delete(mbfl_identify_filter *filter); -MBFLAPI extern int mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding); -MBFLAPI extern int mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding); +MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding); +MBFLAPI extern void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding); MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); MBFLAPI extern void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c index 09746efcd0..cd064e5ee8 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c @@ -37,106 +37,67 @@ /* * memory device output functions */ -void -mbfl_memory_device_init(mbfl_memory_device *device, size_t initsz, size_t allocsz) +void mbfl_memory_device_init(mbfl_memory_device *device, size_t initsz, size_t allocsz) { - if (device) { - device->length = 0; - device->buffer = NULL; - if (initsz > 0) { - device->buffer = emalloc(initsz); - device->length = initsz; - } - device->pos = 0; - if (allocsz > MBFL_MEMORY_DEVICE_ALLOC_SIZE) { - device->allocsz = allocsz; - } else { - device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; - } - } + device->buffer = (initsz > 0) ? emalloc(initsz) : NULL; + device->length = initsz; + device->pos = 0; + device->allocsz = MAX(allocsz, MBFL_MEMORY_DEVICE_ALLOC_SIZE); } -void -mbfl_memory_device_realloc(mbfl_memory_device *device, size_t initsz, size_t allocsz) +void mbfl_memory_device_realloc(mbfl_memory_device *device, size_t initsz, size_t allocsz) { - if (device) { - if (initsz > device->length) { - device->buffer = erealloc(device->buffer, initsz); - device->length = initsz; - } - if (allocsz > MBFL_MEMORY_DEVICE_ALLOC_SIZE) { - device->allocsz = allocsz; - } else { - device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; - } + if (initsz > device->length) { + device->buffer = erealloc(device->buffer, initsz); + device->length = initsz; } + device->allocsz = MAX(allocsz, MBFL_MEMORY_DEVICE_ALLOC_SIZE); } -void -mbfl_memory_device_clear(mbfl_memory_device *device) +void mbfl_memory_device_clear(mbfl_memory_device *device) { - if (device) { - if (device->buffer) { - efree(device->buffer); - } - device->buffer = NULL; - device->length = 0; - device->pos = 0; + if (device->buffer) { + efree(device->buffer); } + device->buffer = NULL; + device->length = device->pos = 0; } -void -mbfl_memory_device_reset(mbfl_memory_device *device) +void mbfl_memory_device_reset(mbfl_memory_device *device) { - if (device) { - device->pos = 0; - } + device->pos = 0; } -void -mbfl_memory_device_unput(mbfl_memory_device *device) +void mbfl_memory_device_unput(mbfl_memory_device *device) { if (device->pos > 0) { device->pos--; } } -mbfl_string * -mbfl_memory_device_result(mbfl_memory_device *device, mbfl_string *result) +mbfl_string* mbfl_memory_device_result(mbfl_memory_device *device, mbfl_string *result) { - if (device && result) { - result->len = device->pos; - mbfl_memory_device_output('\0', device); - result->val = device->buffer; - device->buffer = NULL; - device->length = 0; - device->pos= 0; - if (result->val == NULL) { - result->len = 0; - result = NULL; - } - } else { - result = NULL; - } - + result->len = device->pos; + mbfl_memory_device_output('\0', device); + result->val = device->buffer; + device->buffer = NULL; + device->length = device->pos = 0; return result; } -int -mbfl_memory_device_output(int c, void *data) +int mbfl_memory_device_output(int c, void *data) { mbfl_memory_device *device = (mbfl_memory_device *)data; if (device->pos >= device->length) { /* reallocate buffer */ - size_t newlen; if (device->length > SIZE_MAX - device->allocsz) { /* overflow */ return -1; } - newlen = device->length + device->allocsz; + size_t newlen = device->length + device->allocsz; device->buffer = erealloc(device->buffer, newlen); device->length = newlen; } @@ -145,20 +106,15 @@ mbfl_memory_device_output(int c, void *data) return c; } -int -mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc) +int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc) { return mbfl_memory_device_strncat(device, psrc, strlen(psrc)); } -int -mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t len) +int mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t len) { - unsigned char *w; - if (len > device->length - device->pos) { /* reallocate buffer */ - size_t newlen; if (len > SIZE_MAX - MBFL_MEMORY_DEVICE_ALLOC_SIZE || device->length > SIZE_MAX - (len + MBFL_MEMORY_DEVICE_ALLOC_SIZE)) { @@ -166,50 +122,41 @@ mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t return -1; } - newlen = device->length + len + MBFL_MEMORY_DEVICE_ALLOC_SIZE; + size_t newlen = device->length + len + MBFL_MEMORY_DEVICE_ALLOC_SIZE; device->buffer = erealloc(device->buffer, newlen); device->length = newlen; } - w = &device->buffer[device->pos]; + unsigned char *w = &device->buffer[device->pos]; memcpy(w, psrc, len); device->pos += len; return 0; } -int -mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src) +int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src) { - return mbfl_memory_device_strncat(dest, (const char *) src->buffer, src->pos); + return mbfl_memory_device_strncat(dest, (const char*)src->buffer, src->pos); } -void -mbfl_wchar_device_init(mbfl_wchar_device *device) +void mbfl_wchar_device_init(mbfl_wchar_device *device) { - if (device) { - device->buffer = NULL; - device->length = 0; - device->pos= 0; - device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; - } + device->buffer = NULL; + device->length = 0; + device->pos = 0; + device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; } -void -mbfl_wchar_device_clear(mbfl_wchar_device *device) +void mbfl_wchar_device_clear(mbfl_wchar_device *device) { - if (device) { - if (device->buffer) { - efree(device->buffer); - } - device->buffer = NULL; - device->length = 0; - device->pos = 0; + if (device->buffer) { + efree(device->buffer); } + device->buffer = NULL; + device->length = device->pos = 0; } -int -mbfl_wchar_device_output(int c, void *data) +int mbfl_wchar_device_output(int c, void *data) { mbfl_wchar_device *device = (mbfl_wchar_device *)data; @@ -228,11 +175,10 @@ mbfl_wchar_device_output(int c, void *data) return -1; } - device->buffer = erealloc(device->buffer, newlen*sizeof(int)); + device->buffer = erealloc(device->buffer, newlen * sizeof(int)); device->length = newlen; } device->buffer[device->pos++] = c; - return c; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h index 7e86db3e06..b8a188ec84 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h @@ -69,6 +69,4 @@ MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device); MBFLAPI extern int mbfl_wchar_device_output(int c, void *data); MBFLAPI extern void mbfl_wchar_device_clear(mbfl_wchar_device *device); - - #endif /* MBFL_MEMORY_DEVICE_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.c b/ext/mbstring/libmbfl/mbfl/mbfl_string.c index a036356dd2..760634e65d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_string.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.c @@ -31,31 +31,22 @@ #include "mbfl_string.h" #include "mbfilter_pass.h" -/* - * string object - */ -void -mbfl_string_init(mbfl_string *string) +void mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding) { - string->encoding = &mbfl_encoding_pass; - string->val = (unsigned char*)NULL; + string->encoding = encoding; + string->val = NULL; string->len = 0; } -void -mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding) +void mbfl_string_init(mbfl_string *string) { - string->encoding = encoding; - string->val = (unsigned char*)NULL; - string->len = 0; + mbfl_string_init_set(string, &mbfl_encoding_pass); } -void -mbfl_string_clear(mbfl_string *string) +void mbfl_string_clear(mbfl_string *string) { - if (string->val != (unsigned char*)NULL) { + if (string->val) { efree(string->val); } - string->val = (unsigned char*)NULL; - string->len = 0; + mbfl_string_init_set(string, NULL); /* Poison it so any attempt to reuse will fail hard */ } diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index ba992af930..066a168fd1 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2764,8 +2764,7 @@ PHP_FUNCTION(mb_encoding_aliases) array_init(return_value); if (encoding->aliases != NULL) { - const char **alias; - for (alias = *encoding->aliases; *alias; ++alias) { + for (const char **alias = encoding->aliases; *alias; ++alias) { add_next_index_string(return_value, (char *)*alias); } } @@ -3649,7 +3648,7 @@ PHP_FUNCTION(mb_send_mail) if (!suppressed_hdrs.cnt_type) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER2, sizeof(PHP_MBSTR_MAIL_MIME_HEADER2) - 1); - p = (char *)mbfl_no2preferred_mime_name(tran_cs->no_encoding); + p = (char *)mbfl_encoding_preferred_mime_name(tran_cs); if (p != NULL) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER3, sizeof(PHP_MBSTR_MAIL_MIME_HEADER3) - 1); mbfl_memory_device_strcat(&device, p); @@ -3658,7 +3657,7 @@ PHP_FUNCTION(mb_send_mail) } if (!suppressed_hdrs.cnt_trans_enc) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER4, sizeof(PHP_MBSTR_MAIL_MIME_HEADER4) - 1); - p = (char *)mbfl_no2preferred_mime_name(body_enc->no_encoding); + p = (char *)mbfl_encoding_preferred_mime_name(body_enc); if (p == NULL) { p = "7bit"; } -- 2.50.1