From de8c36dcaa730e53265e6c2201c49c4ced3af68f Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Fri, 2 Aug 2002 10:22:31 +0000 Subject: [PATCH] -use const to clarify code -fix tsrmls build (therefore rfc1867.c) --- ext/mbstring/mbfilter.c | 486 ++++++++++++++++++++-------------------- ext/mbstring/mbfilter.h | 24 +- ext/mbstring/mbregex.c | 22 +- ext/mbstring/mbstring.c | 36 +-- ext/mbstring/mbstring.h | 2 +- main/rfc1867.c | 4 +- 6 files changed, 299 insertions(+), 275 deletions(-) diff --git a/ext/mbstring/mbfilter.c b/ext/mbstring/mbfilter.c index 7d2b6d4e4c..041e4e03b9 100644 --- a/ext/mbstring/mbfilter.c +++ b/ext/mbstring/mbfilter.c @@ -128,7 +128,7 @@ /* language structure */ static const char *mbfl_language_uni_aliases[] = {"universal", "none", NULL}; -static mbfl_language mbfl_language_uni = { +static const mbfl_language mbfl_language_uni = { mbfl_no_language_uni, "uni", "uni", @@ -138,7 +138,7 @@ static mbfl_language mbfl_language_uni = { mbfl_no_encoding_base64 }; -static mbfl_language mbfl_language_japanese = { +static const mbfl_language mbfl_language_japanese = { mbfl_no_language_japanese, "Japanese", "ja", @@ -148,7 +148,7 @@ static mbfl_language mbfl_language_japanese = { mbfl_no_encoding_7bit }; -static mbfl_language mbfl_language_korean = { +static const mbfl_language mbfl_language_korean = { mbfl_no_language_korean, "Korean", "ko", @@ -158,7 +158,7 @@ static mbfl_language mbfl_language_korean = { mbfl_no_encoding_7bit }; -static mbfl_language mbfl_language_english = { +static const mbfl_language mbfl_language_english = { mbfl_no_language_english, "English", "en", @@ -168,6 +168,18 @@ static mbfl_language mbfl_language_english = { mbfl_no_encoding_8bit }; +static const char *mbfl_language_german_aliases[] = {"Deutsch", NULL}; + +static const mbfl_language mbfl_language_german = { + mbfl_no_language_english, + "German", + "de", + (const char *(*)[])&mbfl_language_german_aliases, + mbfl_no_encoding_8859_15, + mbfl_no_encoding_qprint, + mbfl_no_encoding_8bit +}; + static mbfl_language mbfl_language_simplified_chinese = { mbfl_no_language_simplified_chinese, "Simplified Chinese", @@ -198,13 +210,14 @@ static mbfl_language mbfl_language_russian = { mbfl_no_encoding_8bit }; -static mbfl_language *mbfl_language_ptr_table[] = { +static const mbfl_language *mbfl_language_ptr_table[] = { &mbfl_language_uni, &mbfl_language_japanese, &mbfl_language_korean, &mbfl_language_simplified_chinese, &mbfl_language_traditional_chinese, &mbfl_language_english, + &mbfl_language_german, &mbfl_language_russian, NULL }; @@ -387,7 +400,7 @@ static const unsigned char mblen_table_uhc[] = { /* 0x81-0xFE */ /* encoding structure */ static const char *mbfl_encoding_pass_aliases[] = {"none", NULL}; -static mbfl_encoding mbfl_encoding_pass = { +static const mbfl_encoding mbfl_encoding_pass = { mbfl_no_encoding_pass, "pass", NULL, @@ -398,7 +411,7 @@ static mbfl_encoding mbfl_encoding_pass = { static const char *mbfl_encoding_auto_aliases[] = {"unknown", NULL}; -static mbfl_encoding mbfl_encoding_auto = { +static const mbfl_encoding mbfl_encoding_auto = { mbfl_no_encoding_auto, "auto", NULL, @@ -407,7 +420,7 @@ static mbfl_encoding mbfl_encoding_auto = { 0 }; -static mbfl_encoding mbfl_encoding_wchar = { +static const mbfl_encoding mbfl_encoding_wchar = { mbfl_no_encoding_wchar, "wchar", NULL, @@ -416,7 +429,7 @@ static mbfl_encoding mbfl_encoding_wchar = { MBFL_ENCTYPE_WCS4BE }; -static mbfl_encoding mbfl_encoding_byte2be = { +static const mbfl_encoding mbfl_encoding_byte2be = { mbfl_no_encoding_byte2be, "byte2be", NULL, @@ -425,7 +438,7 @@ static mbfl_encoding mbfl_encoding_byte2be = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_byte2le = { +static const mbfl_encoding mbfl_encoding_byte2le = { mbfl_no_encoding_byte2le, "byte2le", NULL, @@ -434,7 +447,7 @@ static mbfl_encoding mbfl_encoding_byte2le = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_byte4be = { +static const mbfl_encoding mbfl_encoding_byte4be = { mbfl_no_encoding_byte4be, "byte4be", NULL, @@ -443,7 +456,7 @@ static mbfl_encoding mbfl_encoding_byte4be = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_byte4le = { +static const mbfl_encoding mbfl_encoding_byte4le = { mbfl_no_encoding_byte4le, "byte4le", NULL, @@ -452,7 +465,7 @@ static mbfl_encoding mbfl_encoding_byte4le = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_base64 = { +static const mbfl_encoding mbfl_encoding_base64 = { mbfl_no_encoding_base64, "BASE64", "BASE64", @@ -461,7 +474,7 @@ static mbfl_encoding mbfl_encoding_base64 = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_uuencode = { +static const mbfl_encoding mbfl_encoding_uuencode = { mbfl_no_encoding_uuencode, "UUENCODE", "x-uuencode", @@ -472,7 +485,7 @@ static mbfl_encoding mbfl_encoding_uuencode = { static const char *mbfl_encoding_qprint_aliases[] = {"qprint", NULL}; -static mbfl_encoding mbfl_encoding_qprint = { +static const mbfl_encoding mbfl_encoding_qprint = { mbfl_no_encoding_qprint, "Quoted-Printable", "Quoted-Printable", @@ -481,7 +494,7 @@ static mbfl_encoding mbfl_encoding_qprint = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_7bit = { +static const mbfl_encoding mbfl_encoding_7bit = { mbfl_no_encoding_7bit, "7bit", "7bit", @@ -490,7 +503,7 @@ static mbfl_encoding mbfl_encoding_7bit = { MBFL_ENCTYPE_SBCS }; -static mbfl_encoding mbfl_encoding_8bit = { +static const mbfl_encoding mbfl_encoding_8bit = { mbfl_no_encoding_8bit, "8bit", "8bit", @@ -501,7 +514,7 @@ static mbfl_encoding mbfl_encoding_8bit = { static const char *mbfl_encoding_ucs2_aliases[] = {"ISO-10646-UCS-2", "UCS2" , "UNICODE", NULL}; -static mbfl_encoding mbfl_encoding_ucs2 = { +static const mbfl_encoding mbfl_encoding_ucs2 = { mbfl_no_encoding_ucs2, "UCS-2", "UCS-2", @@ -510,7 +523,7 @@ static mbfl_encoding mbfl_encoding_ucs2 = { MBFL_ENCTYPE_WCS2BE }; -static mbfl_encoding mbfl_encoding_ucs2be = { +static const mbfl_encoding mbfl_encoding_ucs2be = { mbfl_no_encoding_ucs2be, "UCS-2BE", "UCS-2BE", @@ -519,7 +532,7 @@ static mbfl_encoding mbfl_encoding_ucs2be = { MBFL_ENCTYPE_WCS2BE }; -static mbfl_encoding mbfl_encoding_ucs2le = { +static const mbfl_encoding mbfl_encoding_ucs2le = { mbfl_no_encoding_ucs2le, "UCS-2LE", "UCS-2LE", @@ -530,7 +543,7 @@ static mbfl_encoding mbfl_encoding_ucs2le = { static const char *mbfl_encoding_ucs4_aliases[] = {"ISO-10646-UCS-4", "UCS4", NULL}; -static mbfl_encoding mbfl_encoding_ucs4 = { +static const mbfl_encoding mbfl_encoding_ucs4 = { mbfl_no_encoding_ucs4, "UCS-4", "UCS-4", @@ -539,7 +552,7 @@ static mbfl_encoding mbfl_encoding_ucs4 = { MBFL_ENCTYPE_WCS4BE }; -static mbfl_encoding mbfl_encoding_ucs4be = { +static const mbfl_encoding mbfl_encoding_ucs4be = { mbfl_no_encoding_ucs4be, "UCS-4BE", "UCS-4BE", @@ -548,7 +561,7 @@ static mbfl_encoding mbfl_encoding_ucs4be = { MBFL_ENCTYPE_WCS4BE }; -static mbfl_encoding mbfl_encoding_ucs4le = { +static const mbfl_encoding mbfl_encoding_ucs4le = { mbfl_no_encoding_ucs4le, "UCS-4LE", "UCS-4LE", @@ -559,7 +572,7 @@ static mbfl_encoding mbfl_encoding_ucs4le = { static const char *mbfl_encoding_utf32_aliases[] = {"utf32", NULL}; -static mbfl_encoding mbfl_encoding_utf32 = { +static const mbfl_encoding mbfl_encoding_utf32 = { mbfl_no_encoding_utf32, "UTF-32", "UTF-32", @@ -568,7 +581,7 @@ static mbfl_encoding mbfl_encoding_utf32 = { MBFL_ENCTYPE_WCS4BE }; -static mbfl_encoding mbfl_encoding_utf32be = { +static const mbfl_encoding mbfl_encoding_utf32be = { mbfl_no_encoding_utf32be, "UTF-32BE", "UTF-32BE", @@ -577,7 +590,7 @@ static mbfl_encoding mbfl_encoding_utf32be = { MBFL_ENCTYPE_WCS4BE }; -static mbfl_encoding mbfl_encoding_utf32le = { +static const mbfl_encoding mbfl_encoding_utf32le = { mbfl_no_encoding_utf32le, "UTF-32LE", "UTF-32LE", @@ -588,7 +601,7 @@ static mbfl_encoding mbfl_encoding_utf32le = { static const char *mbfl_encoding_utf16_aliases[] = {"utf16", NULL}; -static mbfl_encoding mbfl_encoding_utf16 = { +static const mbfl_encoding mbfl_encoding_utf16 = { mbfl_no_encoding_utf16, "UTF-16", "UTF-16", @@ -597,7 +610,7 @@ static mbfl_encoding mbfl_encoding_utf16 = { MBFL_ENCTYPE_MWC2BE }; -static mbfl_encoding mbfl_encoding_utf16be = { +static const mbfl_encoding mbfl_encoding_utf16be = { mbfl_no_encoding_utf16be, "UTF-16BE", "UTF-16BE", @@ -606,7 +619,7 @@ static mbfl_encoding mbfl_encoding_utf16be = { MBFL_ENCTYPE_MWC2BE }; -static mbfl_encoding mbfl_encoding_utf16le = { +static const mbfl_encoding mbfl_encoding_utf16le = { mbfl_no_encoding_utf16le, "UTF-16LE", "UTF-16LE", @@ -617,7 +630,7 @@ static mbfl_encoding mbfl_encoding_utf16le = { static const char *mbfl_encoding_utf8_aliases[] = {"utf8", NULL}; -static mbfl_encoding mbfl_encoding_utf8 = { +static const mbfl_encoding mbfl_encoding_utf8 = { mbfl_no_encoding_utf8, "UTF-8", "UTF-8", @@ -628,7 +641,7 @@ static mbfl_encoding mbfl_encoding_utf8 = { static const char *mbfl_encoding_utf7_aliases[] = {"utf7", NULL}; -static mbfl_encoding mbfl_encoding_utf7 = { +static const mbfl_encoding mbfl_encoding_utf7 = { mbfl_no_encoding_utf7, "UTF-7", "UTF-7", @@ -637,7 +650,7 @@ static mbfl_encoding mbfl_encoding_utf7 = { MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_SHFTCODE }; -static mbfl_encoding mbfl_encoding_utf7imap = { +static const mbfl_encoding mbfl_encoding_utf7imap = { mbfl_no_encoding_utf7imap, "UTF7-IMAP", NULL, @@ -646,7 +659,7 @@ static mbfl_encoding mbfl_encoding_utf7imap = { MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_SHFTCODE }; -static mbfl_encoding mbfl_encoding_ascii = { +static const mbfl_encoding mbfl_encoding_ascii = { mbfl_no_encoding_ascii, "ASCII", "US-ASCII", @@ -658,7 +671,7 @@ static mbfl_encoding mbfl_encoding_ascii = { #if defined(HAVE_MBSTR_JA) static const char *mbfl_encoding_euc_jp_aliases[] = {"EUC", "EUC_JP", "eucJP", "x-euc-jp", NULL}; -static mbfl_encoding mbfl_encoding_euc_jp = { +static const mbfl_encoding mbfl_encoding_euc_jp = { mbfl_no_encoding_euc_jp, "EUC-JP", "EUC-JP", @@ -669,7 +682,7 @@ static mbfl_encoding mbfl_encoding_euc_jp = { static const char *mbfl_encoding_sjis_aliases[] = {"x-sjis", "SHIFT-JIS", NULL}; -static mbfl_encoding mbfl_encoding_sjis = { +static const mbfl_encoding mbfl_encoding_sjis = { mbfl_no_encoding_sjis, "SJIS", "Shift_JIS", @@ -680,7 +693,7 @@ static mbfl_encoding mbfl_encoding_sjis = { static const char *mbfl_encoding_eucjp_win_aliases[] = {"eucJP-open", NULL}; -static mbfl_encoding mbfl_encoding_eucjp_win = { +static const mbfl_encoding mbfl_encoding_eucjp_win = { mbfl_no_encoding_eucjp_win, "eucJP-win", "EUC-JP", @@ -691,7 +704,7 @@ static mbfl_encoding mbfl_encoding_eucjp_win = { static const char *mbfl_encoding_sjis_win_aliases[] = {"SJIS-open", "MS_Kanji", "Windows-31J", "CP932", NULL}; -static mbfl_encoding mbfl_encoding_sjis_win = { +static const mbfl_encoding mbfl_encoding_sjis_win = { mbfl_no_encoding_sjis_win, "SJIS-win", "Shift_JIS", @@ -700,7 +713,7 @@ static mbfl_encoding mbfl_encoding_sjis_win = { MBFL_ENCTYPE_MBCS }; -static mbfl_encoding mbfl_encoding_jis = { +static const mbfl_encoding mbfl_encoding_jis = { mbfl_no_encoding_jis, "JIS", "ISO-2022-JP", @@ -709,7 +722,7 @@ static mbfl_encoding mbfl_encoding_jis = { MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_SHFTCODE }; -static mbfl_encoding mbfl_encoding_2022jp = { +static const mbfl_encoding mbfl_encoding_2022jp = { mbfl_no_encoding_2022jp, "ISO-2022-JP", "ISO-2022-JP", @@ -782,7 +795,7 @@ static mbfl_encoding mbfl_encoding_big5 = { #if defined(HAVE_MBSTR_KR) static const char *mbfl_encoding_euc_kr_aliases[] = {"EUC_KR", "eucKR", "x-euc-kr", NULL}; -static mbfl_encoding mbfl_encoding_euc_kr = { +static const mbfl_encoding mbfl_encoding_euc_kr = { mbfl_no_encoding_euc_kr, "EUC-KR", "EUC-KR", @@ -793,7 +806,7 @@ static mbfl_encoding mbfl_encoding_euc_kr = { static const char *mbfl_encoding_uhc_aliases[] = {"CP949", NULL}; -static mbfl_encoding mbfl_encoding_uhc = { +static const mbfl_encoding mbfl_encoding_uhc = { mbfl_no_encoding_uhc, "UHC", "UHC", @@ -802,7 +815,7 @@ static mbfl_encoding mbfl_encoding_uhc = { MBFL_ENCTYPE_MBCS }; -static mbfl_encoding mbfl_encoding_2022kr = { +static const mbfl_encoding mbfl_encoding_2022kr = { mbfl_no_encoding_2022kr, "ISO-2022-KR", "ISO-2022-KR", @@ -815,7 +828,7 @@ static mbfl_encoding mbfl_encoding_2022kr = { static const char *mbfl_encoding_cp1252_aliases[] = {"cp1252", NULL}; -static mbfl_encoding mbfl_encoding_cp1252 = { +static const mbfl_encoding mbfl_encoding_cp1252 = { mbfl_no_encoding_cp1252, "Windows-1252", "Windows-1252", @@ -826,7 +839,7 @@ static mbfl_encoding mbfl_encoding_cp1252 = { static const char *mbfl_encoding_8859_1_aliases[] = {"ISO_8859-1", "latin1", NULL}; -static mbfl_encoding mbfl_encoding_8859_1 = { +static const mbfl_encoding mbfl_encoding_8859_1 = { mbfl_no_encoding_8859_1, "ISO-8859-1", "ISO-8859-1", @@ -837,7 +850,7 @@ static mbfl_encoding mbfl_encoding_8859_1 = { static const char *mbfl_encoding_8859_2_aliases[] = {"ISO_8859-2", "latin2", NULL}; -static mbfl_encoding mbfl_encoding_8859_2 = { +static const mbfl_encoding mbfl_encoding_8859_2 = { mbfl_no_encoding_8859_2, "ISO-8859-2", "ISO-8859-2", @@ -848,7 +861,7 @@ static mbfl_encoding mbfl_encoding_8859_2 = { static const char *mbfl_encoding_8859_3_aliases[] = {"ISO_8859-3", "latin3", NULL}; -static mbfl_encoding mbfl_encoding_8859_3 = { +static const mbfl_encoding mbfl_encoding_8859_3 = { mbfl_no_encoding_8859_3, "ISO-8859-3", "ISO-8859-3", @@ -859,7 +872,7 @@ static mbfl_encoding mbfl_encoding_8859_3 = { static const char *mbfl_encoding_8859_4_aliases[] = {"ISO_8859-4", "latin4", NULL}; -static mbfl_encoding mbfl_encoding_8859_4 = { +static const mbfl_encoding mbfl_encoding_8859_4 = { mbfl_no_encoding_8859_4, "ISO-8859-4", "ISO-8859-4", @@ -870,7 +883,7 @@ static mbfl_encoding mbfl_encoding_8859_4 = { static const char *mbfl_encoding_8859_5_aliases[] = {"ISO_8859-5", "cyrillic", NULL}; -static mbfl_encoding mbfl_encoding_8859_5 = { +static const mbfl_encoding mbfl_encoding_8859_5 = { mbfl_no_encoding_8859_5, "ISO-8859-5", "ISO-8859-5", @@ -881,7 +894,7 @@ static mbfl_encoding mbfl_encoding_8859_5 = { static const char *mbfl_encoding_8859_6_aliases[] = {"ISO_8859-6", "arabic", NULL}; -static mbfl_encoding mbfl_encoding_8859_6 = { +static const mbfl_encoding mbfl_encoding_8859_6 = { mbfl_no_encoding_8859_6, "ISO-8859-6", "ISO-8859-6", @@ -892,7 +905,7 @@ static mbfl_encoding mbfl_encoding_8859_6 = { static const char *mbfl_encoding_8859_7_aliases[] = {"ISO_8859-7", "greek", NULL}; -static mbfl_encoding mbfl_encoding_8859_7 = { +static const mbfl_encoding mbfl_encoding_8859_7 = { mbfl_no_encoding_8859_7, "ISO-8859-7", "ISO-8859-7", @@ -903,7 +916,7 @@ static mbfl_encoding mbfl_encoding_8859_7 = { static const char *mbfl_encoding_8859_8_aliases[] = {"ISO_8859-8", "hebrew", NULL}; -static mbfl_encoding mbfl_encoding_8859_8 = { +static const mbfl_encoding mbfl_encoding_8859_8 = { mbfl_no_encoding_8859_8, "ISO-8859-8", "ISO-8859-8", @@ -914,7 +927,7 @@ static mbfl_encoding mbfl_encoding_8859_8 = { static const char *mbfl_encoding_8859_9_aliases[] = {"ISO_8859-9", "latin5", NULL}; -static mbfl_encoding mbfl_encoding_8859_9 = { +static const mbfl_encoding mbfl_encoding_8859_9 = { mbfl_no_encoding_8859_9, "ISO-8859-9", "ISO-8859-9", @@ -925,7 +938,7 @@ static mbfl_encoding mbfl_encoding_8859_9 = { static const char *mbfl_encoding_8859_10_aliases[] = {"ISO_8859-10", "latin6", NULL}; -static mbfl_encoding mbfl_encoding_8859_10 = { +static const mbfl_encoding mbfl_encoding_8859_10 = { mbfl_no_encoding_8859_10, "ISO-8859-10", "ISO-8859-10", @@ -936,7 +949,7 @@ static mbfl_encoding mbfl_encoding_8859_10 = { static const char *mbfl_encoding_8859_13_aliases[] = {"ISO_8859-13", NULL}; -static mbfl_encoding mbfl_encoding_8859_13 = { +static const mbfl_encoding mbfl_encoding_8859_13 = { mbfl_no_encoding_8859_13, "ISO-8859-13", "ISO-8859-13", @@ -947,7 +960,7 @@ static mbfl_encoding mbfl_encoding_8859_13 = { static const char *mbfl_encoding_8859_14_aliases[] = {"ISO_8859-14", "latin8", NULL}; -static mbfl_encoding mbfl_encoding_8859_14 = { +static const mbfl_encoding mbfl_encoding_8859_14 = { mbfl_no_encoding_8859_14, "ISO-8859-14", "ISO-8859-14", @@ -958,7 +971,7 @@ static mbfl_encoding mbfl_encoding_8859_14 = { static const char *mbfl_encoding_8859_15_aliases[] = {"ISO_8859-15", NULL}; -static mbfl_encoding mbfl_encoding_8859_15 = { +static const mbfl_encoding mbfl_encoding_8859_15 = { mbfl_no_encoding_8859_15, "ISO-8859-15", "ISO-8859-15", @@ -970,7 +983,7 @@ static mbfl_encoding mbfl_encoding_8859_15 = { #if defined(HAVE_MBSTR_RU) static const char *mbfl_encoding_cp1251_aliases[] = {"CP1251", "CP-1251", "WINDOWS-1251", NULL}; -static mbfl_encoding mbfl_encoding_cp1251 = { +static const mbfl_encoding mbfl_encoding_cp1251 = { mbfl_no_encoding_cp1251, "Windows-1251", "Windows-1251", @@ -981,7 +994,7 @@ static mbfl_encoding mbfl_encoding_cp1251 = { static const char *mbfl_encoding_cp866_aliases[] = {"CP866", "CP-866", "IBM-866", NULL}; -static mbfl_encoding mbfl_encoding_cp866 = { +static const mbfl_encoding mbfl_encoding_cp866 = { mbfl_no_encoding_cp866, "CP866", "CP866", @@ -992,7 +1005,7 @@ static mbfl_encoding mbfl_encoding_cp866 = { static const char *mbfl_encoding_koi8r_aliases[] = {"KOI8-R", "KOI8R", NULL}; -static mbfl_encoding mbfl_encoding_koi8r = { +static const mbfl_encoding mbfl_encoding_koi8r = { mbfl_no_encoding_koi8r, "KOI8-R", "KOI8-R", @@ -1002,7 +1015,7 @@ static mbfl_encoding mbfl_encoding_koi8r = { }; #endif -static mbfl_encoding *mbfl_encoding_ptr_list[] = { +static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_pass, &mbfl_encoding_auto, &mbfl_encoding_wchar, @@ -1075,6 +1088,11 @@ static mbfl_encoding *mbfl_encoding_ptr_list[] = { NULL }; +/* hex character table "0123456789ABCDEF" */ +static char mbfl_hexchar_table[] = { + 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46 +}; + /* forward */ static void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter TSRMLS_DC); static int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter TSRMLS_DC); @@ -1193,7 +1211,7 @@ static int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter TSRMLS_DC); static int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter TSRMLS_DC); /* convert filter function table */ -static struct mbfl_convert_vtbl vtbl_pass = { +static const struct mbfl_convert_vtbl vtbl_pass = { mbfl_no_encoding_pass, mbfl_no_encoding_pass, mbfl_filt_conv_common_ctor, @@ -1201,7 +1219,7 @@ static struct mbfl_convert_vtbl vtbl_pass = { mbfl_filt_conv_pass, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_byte2be_wchar = { +static const struct mbfl_convert_vtbl vtbl_byte2be_wchar = { mbfl_no_encoding_byte2be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1209,7 +1227,7 @@ static struct mbfl_convert_vtbl vtbl_byte2be_wchar = { mbfl_filt_conv_byte2be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_byte2be = { +static const struct mbfl_convert_vtbl vtbl_wchar_byte2be = { mbfl_no_encoding_wchar, mbfl_no_encoding_byte2be, mbfl_filt_conv_common_ctor, @@ -1217,7 +1235,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_byte2be = { mbfl_filt_conv_wchar_byte2be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_byte2le_wchar = { +static const struct mbfl_convert_vtbl vtbl_byte2le_wchar = { mbfl_no_encoding_byte2le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1225,7 +1243,7 @@ static struct mbfl_convert_vtbl vtbl_byte2le_wchar = { mbfl_filt_conv_byte2le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_byte2le = { +static const struct mbfl_convert_vtbl vtbl_wchar_byte2le = { mbfl_no_encoding_wchar, mbfl_no_encoding_byte2le, mbfl_filt_conv_common_ctor, @@ -1233,7 +1251,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_byte2le = { mbfl_filt_conv_wchar_byte2le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_byte4be_wchar = { +static const struct mbfl_convert_vtbl vtbl_byte4be_wchar = { mbfl_no_encoding_byte4be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1241,7 +1259,7 @@ static struct mbfl_convert_vtbl vtbl_byte4be_wchar = { mbfl_filt_conv_byte4be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_byte4be = { +static const struct mbfl_convert_vtbl vtbl_wchar_byte4be = { mbfl_no_encoding_wchar, mbfl_no_encoding_byte4be, mbfl_filt_conv_common_ctor, @@ -1249,7 +1267,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_byte4be = { mbfl_filt_conv_wchar_byte4be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_byte4le_wchar = { +static const struct mbfl_convert_vtbl vtbl_byte4le_wchar = { mbfl_no_encoding_byte4le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1257,7 +1275,7 @@ static struct mbfl_convert_vtbl vtbl_byte4le_wchar = { mbfl_filt_conv_byte4le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_byte4le = { +static const struct mbfl_convert_vtbl vtbl_wchar_byte4le = { mbfl_no_encoding_wchar, mbfl_no_encoding_byte4le, mbfl_filt_conv_common_ctor, @@ -1265,7 +1283,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_byte4le = { mbfl_filt_conv_wchar_byte4le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8bit_b64 = { +static const struct mbfl_convert_vtbl vtbl_8bit_b64 = { mbfl_no_encoding_8bit, mbfl_no_encoding_base64, mbfl_filt_conv_common_ctor, @@ -1273,7 +1291,7 @@ static struct mbfl_convert_vtbl vtbl_8bit_b64 = { mbfl_filt_conv_base64enc, mbfl_filt_conv_base64enc_flush }; -static struct mbfl_convert_vtbl vtbl_b64_8bit = { +static const struct mbfl_convert_vtbl vtbl_b64_8bit = { mbfl_no_encoding_base64, mbfl_no_encoding_8bit, mbfl_filt_conv_common_ctor, @@ -1281,17 +1299,15 @@ static struct mbfl_convert_vtbl vtbl_b64_8bit = { mbfl_filt_conv_base64dec, mbfl_filt_conv_base64dec_flush }; -static struct mbfl_convert_vtbl vtbl_uuencode_8bit = { +static const struct mbfl_convert_vtbl vtbl_uuencode_8bit = { mbfl_no_encoding_uuencode, mbfl_no_encoding_8bit, mbfl_filt_conv_common_ctor, mbfl_filt_conv_common_dtor, mbfl_filt_conv_uudec, - mbfl_filt_conv_common_flush -}; - + mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8bit_qprint = { +static const struct mbfl_convert_vtbl vtbl_8bit_qprint = { mbfl_no_encoding_8bit, mbfl_no_encoding_qprint, mbfl_filt_conv_common_ctor, @@ -1299,7 +1315,7 @@ static struct mbfl_convert_vtbl vtbl_8bit_qprint = { mbfl_filt_conv_qprintenc, mbfl_filt_conv_qprintenc_flush }; -static struct mbfl_convert_vtbl vtbl_qprint_8bit = { +static const struct mbfl_convert_vtbl vtbl_qprint_8bit = { mbfl_no_encoding_qprint, mbfl_no_encoding_8bit, mbfl_filt_conv_common_ctor, @@ -1307,7 +1323,7 @@ static struct mbfl_convert_vtbl vtbl_qprint_8bit = { mbfl_filt_conv_qprintdec, mbfl_filt_conv_qprintdec_flush }; -static struct mbfl_convert_vtbl vtbl_8bit_7bit = { +static const struct mbfl_convert_vtbl vtbl_8bit_7bit = { mbfl_no_encoding_8bit, mbfl_no_encoding_7bit, mbfl_filt_conv_common_ctor, @@ -1315,7 +1331,7 @@ static struct mbfl_convert_vtbl vtbl_8bit_7bit = { mbfl_filt_conv_any_7bit, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_7bit_8bit = { +static const struct mbfl_convert_vtbl vtbl_7bit_8bit = { mbfl_no_encoding_7bit, mbfl_no_encoding_8bit, mbfl_filt_conv_common_ctor, @@ -1323,7 +1339,7 @@ static struct mbfl_convert_vtbl vtbl_7bit_8bit = { mbfl_filt_conv_pass, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs4_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs4_wchar = { mbfl_no_encoding_ucs4, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1331,7 +1347,7 @@ static struct mbfl_convert_vtbl vtbl_ucs4_wchar = { mbfl_filt_conv_ucs4_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs4 = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs4 = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs4, mbfl_filt_conv_common_ctor, @@ -1339,7 +1355,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs4 = { mbfl_filt_conv_wchar_ucs4be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { mbfl_no_encoding_ucs4be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1347,7 +1363,7 @@ static struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { mbfl_filt_conv_byte4be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs4be = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs4be = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs4be, mbfl_filt_conv_common_ctor, @@ -1355,7 +1371,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs4be = { mbfl_filt_conv_wchar_ucs4be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { mbfl_no_encoding_ucs4le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1363,7 +1379,7 @@ static struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { mbfl_filt_conv_byte4le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs4le, mbfl_filt_conv_common_ctor, @@ -1371,7 +1387,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { mbfl_filt_conv_wchar_ucs4le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs2_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs2_wchar = { mbfl_no_encoding_ucs2, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1379,7 +1395,7 @@ static struct mbfl_convert_vtbl vtbl_ucs2_wchar = { mbfl_filt_conv_ucs2_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs2 = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs2 = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs2, mbfl_filt_conv_common_ctor, @@ -1387,7 +1403,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs2 = { mbfl_filt_conv_wchar_ucs2be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { mbfl_no_encoding_ucs2be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1395,7 +1411,7 @@ static struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { mbfl_filt_conv_byte2be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs2be = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs2be = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs2be, mbfl_filt_conv_common_ctor, @@ -1403,7 +1419,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs2be = { mbfl_filt_conv_wchar_ucs2be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { +static const struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { mbfl_no_encoding_ucs2le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1411,7 +1427,7 @@ static struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { mbfl_filt_conv_byte2le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { +static const struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { mbfl_no_encoding_wchar, mbfl_no_encoding_ucs2le, mbfl_filt_conv_common_ctor, @@ -1419,7 +1435,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { mbfl_filt_conv_wchar_ucs2le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf32_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf32_wchar = { mbfl_no_encoding_utf32, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1427,7 +1443,7 @@ static struct mbfl_convert_vtbl vtbl_utf32_wchar = { mbfl_filt_conv_ucs4_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf32 = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf32 = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf32, mbfl_filt_conv_common_ctor, @@ -1435,7 +1451,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf32 = { mbfl_filt_conv_wchar_ucs4be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf32be_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf32be_wchar = { mbfl_no_encoding_utf32be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1443,7 +1459,7 @@ static struct mbfl_convert_vtbl vtbl_utf32be_wchar = { mbfl_filt_conv_byte4be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf32be = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf32be = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf32be, mbfl_filt_conv_common_ctor, @@ -1451,7 +1467,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf32be = { mbfl_filt_conv_wchar_ucs4be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf32le_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf32le_wchar = { mbfl_no_encoding_utf32le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1459,7 +1475,7 @@ static struct mbfl_convert_vtbl vtbl_utf32le_wchar = { mbfl_filt_conv_byte4le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf32le = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf32le = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf32le, mbfl_filt_conv_common_ctor, @@ -1467,7 +1483,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf32le = { mbfl_filt_conv_wchar_ucs4le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf16_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf16_wchar = { mbfl_no_encoding_utf16, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1475,7 +1491,7 @@ static struct mbfl_convert_vtbl vtbl_utf16_wchar = { mbfl_filt_conv_utf16_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf16 = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf16 = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf16, mbfl_filt_conv_common_ctor, @@ -1483,7 +1499,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf16 = { mbfl_filt_conv_wchar_utf16be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf16be_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf16be_wchar = { mbfl_no_encoding_utf16be, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1491,7 +1507,7 @@ static struct mbfl_convert_vtbl vtbl_utf16be_wchar = { mbfl_filt_conv_utf16be_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf16be = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf16be = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf16be, mbfl_filt_conv_common_ctor, @@ -1499,7 +1515,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf16be = { mbfl_filt_conv_wchar_utf16be, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf16le_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf16le_wchar = { mbfl_no_encoding_utf16le, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1507,7 +1523,7 @@ static struct mbfl_convert_vtbl vtbl_utf16le_wchar = { mbfl_filt_conv_utf16le_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf16le = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf16le = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf16le, mbfl_filt_conv_common_ctor, @@ -1515,7 +1531,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf16le = { mbfl_filt_conv_wchar_utf16le, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf8_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf8_wchar = { mbfl_no_encoding_utf8, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1523,7 +1539,7 @@ static struct mbfl_convert_vtbl vtbl_utf8_wchar = { mbfl_filt_conv_utf8_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf8 = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf8 = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf8, mbfl_filt_conv_common_ctor, @@ -1531,7 +1547,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf8 = { mbfl_filt_conv_wchar_utf8, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_utf7_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf7_wchar = { mbfl_no_encoding_utf7, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1539,7 +1555,7 @@ static struct mbfl_convert_vtbl vtbl_utf7_wchar = { mbfl_filt_conv_utf7_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf7 = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf7 = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf7, mbfl_filt_conv_common_ctor, @@ -1547,7 +1563,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf7 = { mbfl_filt_conv_wchar_utf7, mbfl_filt_conv_wchar_utf7_flush }; -static struct mbfl_convert_vtbl vtbl_utf7imap_wchar = { +static const struct mbfl_convert_vtbl vtbl_utf7imap_wchar = { mbfl_no_encoding_utf7imap, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1555,7 +1571,7 @@ static struct mbfl_convert_vtbl vtbl_utf7imap_wchar = { mbfl_filt_conv_utf7imap_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { +static const struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { mbfl_no_encoding_wchar, mbfl_no_encoding_utf7imap, mbfl_filt_conv_common_ctor, @@ -1563,7 +1579,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { mbfl_filt_conv_wchar_utf7imap, mbfl_filt_conv_wchar_utf7imap_flush }; -static struct mbfl_convert_vtbl vtbl_ascii_wchar = { +static const struct mbfl_convert_vtbl vtbl_ascii_wchar = { mbfl_no_encoding_ascii, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1571,7 +1587,7 @@ static struct mbfl_convert_vtbl vtbl_ascii_wchar = { mbfl_filt_conv_pass, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_ascii = { +static const struct mbfl_convert_vtbl vtbl_wchar_ascii = { mbfl_no_encoding_wchar, mbfl_no_encoding_ascii, mbfl_filt_conv_common_ctor, @@ -1580,7 +1596,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_ascii = { mbfl_filt_conv_common_flush }; #if defined(HAVE_MBSTR_JA) -static struct mbfl_convert_vtbl vtbl_eucjp_wchar = { +static const struct mbfl_convert_vtbl vtbl_eucjp_wchar = { mbfl_no_encoding_euc_jp, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1588,7 +1604,7 @@ static struct mbfl_convert_vtbl vtbl_eucjp_wchar = { mbfl_filt_conv_eucjp_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_eucjp = { +static const struct mbfl_convert_vtbl vtbl_wchar_eucjp = { mbfl_no_encoding_wchar, mbfl_no_encoding_euc_jp, mbfl_filt_conv_common_ctor, @@ -1596,7 +1612,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_eucjp = { mbfl_filt_conv_wchar_eucjp, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_sjis_wchar = { +static const struct mbfl_convert_vtbl vtbl_sjis_wchar = { mbfl_no_encoding_sjis, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1604,7 +1620,7 @@ static struct mbfl_convert_vtbl vtbl_sjis_wchar = { mbfl_filt_conv_sjis_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_sjis = { +static const struct mbfl_convert_vtbl vtbl_wchar_sjis = { mbfl_no_encoding_wchar, mbfl_no_encoding_sjis, mbfl_filt_conv_common_ctor, @@ -1612,7 +1628,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_sjis = { mbfl_filt_conv_wchar_sjis, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_jis_wchar = { +static const struct mbfl_convert_vtbl vtbl_jis_wchar = { mbfl_no_encoding_jis, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1620,7 +1636,7 @@ static struct mbfl_convert_vtbl vtbl_jis_wchar = { mbfl_filt_conv_jis_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_jis = { +static const struct mbfl_convert_vtbl vtbl_wchar_jis = { mbfl_no_encoding_wchar, mbfl_no_encoding_jis, mbfl_filt_conv_common_ctor, @@ -1628,7 +1644,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_jis = { mbfl_filt_conv_wchar_jis, mbfl_filt_conv_any_jis_flush }; -static struct mbfl_convert_vtbl vtbl_2022jp_wchar = { +static const struct mbfl_convert_vtbl vtbl_2022jp_wchar = { mbfl_no_encoding_2022jp, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1636,7 +1652,7 @@ static struct mbfl_convert_vtbl vtbl_2022jp_wchar = { mbfl_filt_conv_jis_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_2022jp = { +static const struct mbfl_convert_vtbl vtbl_wchar_2022jp = { mbfl_no_encoding_wchar, mbfl_no_encoding_2022jp, mbfl_filt_conv_common_ctor, @@ -1644,7 +1660,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_2022jp = { mbfl_filt_conv_wchar_2022jp, mbfl_filt_conv_any_jis_flush }; -static struct mbfl_convert_vtbl vtbl_eucjpwin_wchar = { +static const struct mbfl_convert_vtbl vtbl_eucjpwin_wchar = { mbfl_no_encoding_eucjp_win, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1652,7 +1668,7 @@ static struct mbfl_convert_vtbl vtbl_eucjpwin_wchar = { mbfl_filt_conv_eucjpwin_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { +static const struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { mbfl_no_encoding_wchar, mbfl_no_encoding_eucjp_win, mbfl_filt_conv_common_ctor, @@ -1660,7 +1676,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { mbfl_filt_conv_wchar_eucjpwin, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_sjiswin_wchar = { +static const struct mbfl_convert_vtbl vtbl_sjiswin_wchar = { mbfl_no_encoding_sjis_win, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1668,7 +1684,7 @@ static struct mbfl_convert_vtbl vtbl_sjiswin_wchar = { mbfl_filt_conv_sjiswin_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_sjiswin = { +static const struct mbfl_convert_vtbl vtbl_wchar_sjiswin = { mbfl_no_encoding_wchar, mbfl_no_encoding_sjis_win, mbfl_filt_conv_common_ctor, @@ -1678,7 +1694,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_sjiswin = { #endif /* HAVE_MBSTR_JA */ #if defined(HAVE_MBSTR_CN) -static struct mbfl_convert_vtbl vtbl_euccn_wchar = { +static const struct mbfl_convert_vtbl vtbl_euccn_wchar = { mbfl_no_encoding_euc_cn, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1686,7 +1702,7 @@ static struct mbfl_convert_vtbl vtbl_euccn_wchar = { mbfl_filt_conv_euccn_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_euccn = { +static const struct mbfl_convert_vtbl vtbl_wchar_euccn = { mbfl_no_encoding_wchar, mbfl_no_encoding_euc_cn, mbfl_filt_conv_common_ctor, @@ -1694,7 +1710,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_euccn = { mbfl_filt_conv_wchar_euccn, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_cp936_wchar = { +static const struct mbfl_convert_vtbl vtbl_cp936_wchar = { mbfl_no_encoding_cp936, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1702,7 +1718,7 @@ static struct mbfl_convert_vtbl vtbl_cp936_wchar = { mbfl_filt_conv_cp936_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_cp936 = { +static const struct mbfl_convert_vtbl vtbl_wchar_cp936 = { mbfl_no_encoding_wchar, mbfl_no_encoding_cp936, mbfl_filt_conv_common_ctor, @@ -1710,7 +1726,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_cp936 = { mbfl_filt_conv_wchar_cp936, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_hz_wchar = { +static const struct mbfl_convert_vtbl vtbl_hz_wchar = { mbfl_no_encoding_hz, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1718,7 +1734,7 @@ static struct mbfl_convert_vtbl vtbl_hz_wchar = { mbfl_filt_conv_hz_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_hz = { +static const struct mbfl_convert_vtbl vtbl_wchar_hz = { mbfl_no_encoding_wchar, mbfl_no_encoding_hz, mbfl_filt_conv_common_ctor, @@ -1729,7 +1745,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_hz = { #endif /* HAVE_MBSTR_CN */ #if defined(HAVE_MBSTR_TW) -static struct mbfl_convert_vtbl vtbl_euctw_wchar = { +static const struct mbfl_convert_vtbl vtbl_euctw_wchar = { mbfl_no_encoding_euc_tw, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1745,7 +1761,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_euctw = { mbfl_filt_conv_wchar_euctw, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_big5_wchar = { +static const struct mbfl_convert_vtbl vtbl_big5_wchar = { mbfl_no_encoding_big5, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1753,7 +1769,7 @@ static struct mbfl_convert_vtbl vtbl_big5_wchar = { mbfl_filt_conv_big5_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_big5 = { +static const struct mbfl_convert_vtbl vtbl_wchar_big5 = { mbfl_no_encoding_wchar, mbfl_no_encoding_big5, mbfl_filt_conv_common_ctor, @@ -1763,7 +1779,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_big5 = { #endif /* HAVE_MBSTR_TW */ #if defined(HAVE_MBSTR_KR) -static struct mbfl_convert_vtbl vtbl_euckr_wchar = { +static const struct mbfl_convert_vtbl vtbl_euckr_wchar = { mbfl_no_encoding_euc_kr, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1771,7 +1787,7 @@ static struct mbfl_convert_vtbl vtbl_euckr_wchar = { mbfl_filt_conv_euckr_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_euckr = { +static const struct mbfl_convert_vtbl vtbl_wchar_euckr = { mbfl_no_encoding_wchar, mbfl_no_encoding_euc_kr, mbfl_filt_conv_common_ctor, @@ -1779,7 +1795,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_euckr = { mbfl_filt_conv_wchar_euckr, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_uhc_wchar = { +static const struct mbfl_convert_vtbl vtbl_uhc_wchar = { mbfl_no_encoding_uhc, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1787,7 +1803,7 @@ static struct mbfl_convert_vtbl vtbl_uhc_wchar = { mbfl_filt_conv_uhc_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_uhc = { +static const struct mbfl_convert_vtbl vtbl_wchar_uhc = { mbfl_no_encoding_wchar, mbfl_no_encoding_uhc, mbfl_filt_conv_common_ctor, @@ -1795,7 +1811,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_uhc = { mbfl_filt_conv_wchar_uhc, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_2022kr = { +static const struct mbfl_convert_vtbl vtbl_wchar_2022kr = { mbfl_no_encoding_wchar, mbfl_no_encoding_2022kr, mbfl_filt_conv_common_ctor, @@ -1803,18 +1819,17 @@ static struct mbfl_convert_vtbl vtbl_wchar_2022kr = { mbfl_filt_conv_wchar_2022kr, mbfl_filt_conv_any_2022kr_flush }; -static struct mbfl_convert_vtbl vtbl_2022kr_wchar = { +static const struct mbfl_convert_vtbl vtbl_2022kr_wchar = { mbfl_no_encoding_2022kr, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, mbfl_filt_conv_common_dtor, mbfl_filt_conv_2022kr_wchar, mbfl_filt_conv_common_flush }; - #endif /* HAVE_MBSTR_KR */ #if defined(HAVE_MBSTR_RU) -static struct mbfl_convert_vtbl vtbl_wchar_cp1251 = { +static const struct mbfl_convert_vtbl vtbl_wchar_cp1251 = { mbfl_no_encoding_cp1251, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1822,7 +1837,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_cp1251 = { mbfl_filt_conv_wchar_cp1251, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_cp1251_wchar = { +static const struct mbfl_convert_vtbl vtbl_cp1251_wchar = { mbfl_no_encoding_cp1251, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1830,7 +1845,7 @@ static struct mbfl_convert_vtbl vtbl_cp1251_wchar = { mbfl_filt_conv_cp1251_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_cp866 = { +static const struct mbfl_convert_vtbl vtbl_wchar_cp866 = { mbfl_no_encoding_cp866, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1838,7 +1853,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_cp866 = { mbfl_filt_conv_wchar_cp866, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_cp866_wchar = { +static const struct mbfl_convert_vtbl vtbl_cp866_wchar = { mbfl_no_encoding_cp866, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1846,7 +1861,7 @@ static struct mbfl_convert_vtbl vtbl_cp866_wchar = { mbfl_filt_conv_cp866_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_koi8r = { +static const struct mbfl_convert_vtbl vtbl_wchar_koi8r = { mbfl_no_encoding_wchar, mbfl_no_encoding_koi8r, mbfl_filt_conv_common_ctor, @@ -1855,7 +1870,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_koi8r = { mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_koi8r_wchar = { +static const struct mbfl_convert_vtbl vtbl_koi8r_wchar = { mbfl_no_encoding_koi8r, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1864,7 +1879,7 @@ static struct mbfl_convert_vtbl vtbl_koi8r_wchar = { mbfl_filt_conv_common_flush }; #endif /* HAVE_MBSTR_RU */ -static struct mbfl_convert_vtbl vtbl_cp1252_wchar = { +static const struct mbfl_convert_vtbl vtbl_cp1252_wchar = { mbfl_no_encoding_cp1252, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1872,7 +1887,7 @@ static struct mbfl_convert_vtbl vtbl_cp1252_wchar = { mbfl_filt_conv_cp1252_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_cp1252 = { +static const struct mbfl_convert_vtbl vtbl_wchar_cp1252 = { mbfl_no_encoding_wchar, mbfl_no_encoding_cp1252, mbfl_filt_conv_common_ctor, @@ -1881,7 +1896,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_cp1252 = { mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_1_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_1_wchar = { mbfl_no_encoding_8859_1, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1889,7 +1904,7 @@ static struct mbfl_convert_vtbl vtbl_8859_1_wchar = { mbfl_filt_conv_pass, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_1 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_1 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_1, mbfl_filt_conv_common_ctor, @@ -1897,7 +1912,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_1 = { mbfl_filt_conv_wchar_8859_1, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_2_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_2_wchar = { mbfl_no_encoding_8859_2, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1905,7 +1920,7 @@ static struct mbfl_convert_vtbl vtbl_8859_2_wchar = { mbfl_filt_conv_8859_2_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_2 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_2 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_2, mbfl_filt_conv_common_ctor, @@ -1913,7 +1928,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_2 = { mbfl_filt_conv_wchar_8859_2, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_3_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_3_wchar = { mbfl_no_encoding_8859_3, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1921,7 +1936,7 @@ static struct mbfl_convert_vtbl vtbl_8859_3_wchar = { mbfl_filt_conv_8859_3_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_3 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_3 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_3, mbfl_filt_conv_common_ctor, @@ -1929,7 +1944,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_3 = { mbfl_filt_conv_wchar_8859_3, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_4_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_4_wchar = { mbfl_no_encoding_8859_4, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1937,7 +1952,7 @@ static struct mbfl_convert_vtbl vtbl_8859_4_wchar = { mbfl_filt_conv_8859_4_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_4 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_4 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_4, mbfl_filt_conv_common_ctor, @@ -1945,7 +1960,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_4 = { mbfl_filt_conv_wchar_8859_4, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_5_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_5_wchar = { mbfl_no_encoding_8859_5, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1953,7 +1968,7 @@ static struct mbfl_convert_vtbl vtbl_8859_5_wchar = { mbfl_filt_conv_8859_5_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_5 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_5 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_5, mbfl_filt_conv_common_ctor, @@ -1961,7 +1976,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_5 = { mbfl_filt_conv_wchar_8859_5, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_6_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_6_wchar = { mbfl_no_encoding_8859_6, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1969,7 +1984,7 @@ static struct mbfl_convert_vtbl vtbl_8859_6_wchar = { mbfl_filt_conv_8859_6_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_6 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_6 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_6, mbfl_filt_conv_common_ctor, @@ -1977,7 +1992,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_6 = { mbfl_filt_conv_wchar_8859_6, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_7_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_7_wchar = { mbfl_no_encoding_8859_7, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -1985,7 +2000,7 @@ static struct mbfl_convert_vtbl vtbl_8859_7_wchar = { mbfl_filt_conv_8859_7_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_7 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_7 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_7, mbfl_filt_conv_common_ctor, @@ -1993,7 +2008,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_7 = { mbfl_filt_conv_wchar_8859_7, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_8_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_8_wchar = { mbfl_no_encoding_8859_8, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -2001,7 +2016,7 @@ static struct mbfl_convert_vtbl vtbl_8859_8_wchar = { mbfl_filt_conv_8859_8_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_8 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_8 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_8, mbfl_filt_conv_common_ctor, @@ -2009,7 +2024,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_8 = { mbfl_filt_conv_wchar_8859_8, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_9_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_9_wchar = { mbfl_no_encoding_8859_9, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -2017,7 +2032,7 @@ static struct mbfl_convert_vtbl vtbl_8859_9_wchar = { mbfl_filt_conv_8859_9_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_9 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_9 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_9, mbfl_filt_conv_common_ctor, @@ -2025,7 +2040,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_9 = { mbfl_filt_conv_wchar_8859_9, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_10_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_10_wchar = { mbfl_no_encoding_8859_10, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -2033,7 +2048,7 @@ static struct mbfl_convert_vtbl vtbl_8859_10_wchar = { mbfl_filt_conv_8859_10_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_10 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_10 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_10, mbfl_filt_conv_common_ctor, @@ -2041,7 +2056,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_10 = { mbfl_filt_conv_wchar_8859_10, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_13_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_13_wchar = { mbfl_no_encoding_8859_13, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -2049,7 +2064,7 @@ static struct mbfl_convert_vtbl vtbl_8859_13_wchar = { mbfl_filt_conv_8859_13_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_13 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_13 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_13, mbfl_filt_conv_common_ctor, @@ -2057,7 +2072,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_13 = { mbfl_filt_conv_wchar_8859_13, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_8859_14_wchar = { +static const struct mbfl_convert_vtbl vtbl_8859_14_wchar = { mbfl_no_encoding_8859_14, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, @@ -2065,7 +2080,7 @@ static struct mbfl_convert_vtbl vtbl_8859_14_wchar = { mbfl_filt_conv_8859_14_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_14 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_14 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_14, mbfl_filt_conv_common_ctor, @@ -2081,7 +2096,7 @@ static struct mbfl_convert_vtbl vtbl_8859_15_wchar = { mbfl_filt_conv_8859_15_wchar, mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl vtbl_wchar_8859_15 = { +static const struct mbfl_convert_vtbl vtbl_wchar_8859_15 = { mbfl_no_encoding_wchar, mbfl_no_encoding_8859_15, mbfl_filt_conv_common_ctor, @@ -2090,7 +2105,7 @@ static struct mbfl_convert_vtbl vtbl_wchar_8859_15 = { mbfl_filt_conv_common_flush }; -static struct mbfl_convert_vtbl *mbfl_convert_filter_list[] = { +static const struct mbfl_convert_vtbl *mbfl_convert_filter_list[] = { &vtbl_utf8_wchar, &vtbl_wchar_utf8, #if defined(HAVE_MBSTR_JA) @@ -2216,56 +2231,56 @@ static struct mbfl_convert_vtbl *mbfl_convert_filter_list[] = { /* identify filter function table */ -static struct mbfl_identify_vtbl vtbl_identify_ascii = { +static const struct mbfl_identify_vtbl vtbl_identify_ascii = { mbfl_no_encoding_ascii, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_ascii }; -static struct mbfl_identify_vtbl vtbl_identify_utf8 = { +static const struct mbfl_identify_vtbl vtbl_identify_utf8 = { mbfl_no_encoding_utf8, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_utf8 }; -static struct mbfl_identify_vtbl vtbl_identify_utf7 = { +static const struct mbfl_identify_vtbl vtbl_identify_utf7 = { mbfl_no_encoding_utf7, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_utf7 }; #if defined(HAVE_MBSTR_JA) -static struct mbfl_identify_vtbl vtbl_identify_eucjp = { +static const struct mbfl_identify_vtbl vtbl_identify_eucjp = { mbfl_no_encoding_euc_jp, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_eucjp }; -static struct mbfl_identify_vtbl vtbl_identify_eucjpwin = { +static const struct mbfl_identify_vtbl vtbl_identify_eucjpwin = { mbfl_no_encoding_eucjp_win, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_eucjp }; -static struct mbfl_identify_vtbl vtbl_identify_sjis = { +static const struct mbfl_identify_vtbl vtbl_identify_sjis = { mbfl_no_encoding_sjis, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_sjis }; -static struct mbfl_identify_vtbl vtbl_identify_sjiswin = { +static const struct mbfl_identify_vtbl vtbl_identify_sjiswin = { mbfl_no_encoding_sjis_win, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_sjiswin }; -static struct mbfl_identify_vtbl vtbl_identify_jis = { +static const struct mbfl_identify_vtbl vtbl_identify_jis = { mbfl_no_encoding_jis, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_jis }; -static struct mbfl_identify_vtbl vtbl_identify_2022jp = { +static const struct mbfl_identify_vtbl vtbl_identify_2022jp = { mbfl_no_encoding_2022jp, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, @@ -2348,97 +2363,97 @@ static struct mbfl_identify_vtbl vtbl_identify_koi8r = { mbfl_filt_ident_koi8r }; #endif /* HAVE_MBSTR_RU */ -static struct mbfl_identify_vtbl vtbl_identify_cp1252 = { +static const struct mbfl_identify_vtbl vtbl_identify_cp1252 = { mbfl_no_encoding_cp1252, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_cp1252 }; -static struct mbfl_identify_vtbl vtbl_identify_8859_1 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_1 = { mbfl_no_encoding_8859_1, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_2 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_2 = { mbfl_no_encoding_8859_2, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_3 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_3 = { mbfl_no_encoding_8859_3, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_4 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_4 = { mbfl_no_encoding_8859_4, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_5 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_5 = { mbfl_no_encoding_8859_5, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_6 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_6 = { mbfl_no_encoding_8859_6, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_7 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_7 = { mbfl_no_encoding_8859_7, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_8 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_8 = { mbfl_no_encoding_8859_8, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_9 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_9 = { mbfl_no_encoding_8859_9, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_10 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_10 = { mbfl_no_encoding_8859_10, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_13 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_13 = { mbfl_no_encoding_8859_13, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_14 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_14 = { mbfl_no_encoding_8859_14, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_8859_15 = { +static const struct mbfl_identify_vtbl vtbl_identify_8859_15 = { mbfl_no_encoding_8859_15, mbfl_filt_ident_common_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_true }; -static struct mbfl_identify_vtbl vtbl_identify_false = { +static const struct mbfl_identify_vtbl vtbl_identify_false = { mbfl_no_encoding_pass, mbfl_filt_ident_false_ctor, mbfl_filt_ident_common_dtor, mbfl_filt_ident_false }; -static struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { +static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_utf8, &vtbl_identify_utf7, &vtbl_identify_ascii, @@ -2489,10 +2504,10 @@ static struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { /* language resolver */ -mbfl_language * +const mbfl_language * mbfl_name2language(const char *name) { - mbfl_language *language; + const mbfl_language *language; int i, j; if (name == NULL) { @@ -2530,10 +2545,10 @@ mbfl_name2language(const char *name) return NULL; } -mbfl_language * +const mbfl_language * mbfl_no2language(enum mbfl_no_language no_language) { - mbfl_language *language; + const mbfl_language *language; int i; i = 0; @@ -2549,7 +2564,7 @@ mbfl_no2language(enum mbfl_no_language no_language) enum mbfl_no_language mbfl_name2no_language(const char *name) { - mbfl_language *language; + const mbfl_language *language; language = mbfl_name2language(name); if (language == NULL) { @@ -2562,7 +2577,7 @@ mbfl_name2no_language(const char *name) const char * mbfl_no_language2name(enum mbfl_no_language no_language) { - mbfl_language *language; + const mbfl_language *language; language = mbfl_no2language(no_language); if (language == NULL) { @@ -2575,10 +2590,10 @@ mbfl_no_language2name(enum mbfl_no_language no_language) /* encoding resolver */ -mbfl_encoding * +const mbfl_encoding * mbfl_name2encoding(const char *name) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; int i, j; if (name == NULL) { @@ -2619,10 +2634,10 @@ mbfl_name2encoding(const char *name) return NULL; } -mbfl_encoding * +const mbfl_encoding * mbfl_no2encoding(enum mbfl_no_encoding no_encoding) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; int i; i = 0; @@ -2638,7 +2653,7 @@ mbfl_no2encoding(enum mbfl_no_encoding no_encoding) enum mbfl_no_encoding mbfl_name2no_encoding(const char *name) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_name2encoding(name); if (encoding == NULL) { @@ -2651,7 +2666,7 @@ mbfl_name2no_encoding(const char *name) const char * mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_no2encoding(no_encoding); if (encoding == NULL) { @@ -2664,7 +2679,7 @@ mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding) const char * mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_no2encoding(no_encoding); if (encoding != NULL && encoding->mime_name != NULL && encoding->mime_name[0] != '\0') { @@ -2677,7 +2692,7 @@ mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding) int mbfl_is_support_encoding(const char *name) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_name2encoding(name); if (encoding == NULL) { @@ -6421,7 +6436,7 @@ mbfl_filt_ident_true(int c, mbfl_identify_filter *filter TSRMLS_DC) /* setup filter function table */ static void -mbfl_convert_filter_set_vtbl(mbfl_convert_filter *filter, struct mbfl_convert_vtbl *vtbl) +mbfl_convert_filter_set_vtbl(mbfl_convert_filter *filter, const struct mbfl_convert_vtbl *vtbl) { if (filter && vtbl) { filter->filter_ctor = vtbl->filter_ctor; @@ -6432,10 +6447,10 @@ mbfl_convert_filter_set_vtbl(mbfl_convert_filter *filter, struct mbfl_convert_vt } -static struct mbfl_convert_vtbl * +static const struct mbfl_convert_vtbl * mbfl_convert_filter_get_vtbl(enum mbfl_no_encoding from, enum mbfl_no_encoding to) { - struct mbfl_convert_vtbl *vtbl; + const struct mbfl_convert_vtbl *vtbl; int i; if (to == mbfl_no_encoding_base64 || @@ -6462,7 +6477,7 @@ mbfl_convert_filter_get_vtbl(enum mbfl_no_encoding from, enum mbfl_no_encoding t static void mbfl_convert_filter_select_vtbl(mbfl_convert_filter *filter) { - struct mbfl_convert_vtbl *vtbl; + const struct mbfl_convert_vtbl *vtbl; vtbl = mbfl_convert_filter_get_vtbl(filter->from->no_encoding, filter->to->no_encoding); if (vtbl == NULL) { @@ -6645,11 +6660,6 @@ mbfl_convert_filter_strncat(mbfl_convert_filter *filter, const unsigned char *p, } #endif -/* hex character table "0123456789ABCDEF" */ -static char mbfl_hexchar_table[] = { - 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46 -}; - /* illegal character output function for conv-filter */ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter TSRMLS_DC) @@ -6727,7 +6737,7 @@ mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter TSRMLS_DC) */ static void -mbfl_identify_filter_set_vtbl(mbfl_identify_filter *filter, struct mbfl_identify_vtbl *vtbl) +mbfl_identify_filter_set_vtbl(mbfl_identify_filter *filter, const struct mbfl_identify_vtbl *vtbl) { if (filter && vtbl) { filter->filter_ctor = vtbl->filter_ctor; @@ -6736,10 +6746,10 @@ mbfl_identify_filter_set_vtbl(mbfl_identify_filter *filter, struct mbfl_identify } } -static struct mbfl_identify_vtbl * +static const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding) { - struct mbfl_identify_vtbl *vtbl; + const struct mbfl_identify_vtbl * vtbl; int i; i = 0; @@ -6755,7 +6765,7 @@ mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding) static void mbfl_identify_filter_select_vtbl(mbfl_identify_filter *filter) { - struct mbfl_identify_vtbl *vtbl; + const struct mbfl_identify_vtbl *vtbl; vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); if (vtbl == NULL) { @@ -7149,7 +7159,7 @@ mbfl_convert_encoding( { int n; unsigned char *p; - mbfl_encoding *encoding; + const mbfl_encoding *encoding; mbfl_memory_device device; mbfl_convert_filter *filter1; mbfl_convert_filter *filter2; @@ -7206,14 +7216,14 @@ mbfl_convert_encoding( /* * identify encoding */ -mbfl_encoding * +const mbfl_encoding * mbfl_identify_encoding(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC) { int i, n, num, bad; unsigned char *p; - struct mbfl_identify_vtbl *vtbl; + const struct mbfl_identify_vtbl *vtbl; mbfl_identify_filter *flist, *filter; - mbfl_encoding *encoding; + const mbfl_encoding *encoding; /* initialize */ flist = (mbfl_identify_filter *)mbfl_calloc(eliztsz, sizeof(mbfl_identify_filter)); @@ -7292,7 +7302,7 @@ mbfl_identify_encoding(mbfl_string *string, enum mbfl_no_encoding *elist, int el const char* mbfl_identify_encoding_name(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_identify_encoding(string, elist, eliztsz TSRMLS_CC); if (encoding != NULL && @@ -7304,10 +7314,10 @@ mbfl_identify_encoding_name(mbfl_string *string, enum mbfl_no_encoding *elist, i } } -enum mbfl_no_encoding +const enum mbfl_no_encoding mbfl_identify_encoding_no(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_identify_encoding(string, elist, eliztsz TSRMLS_CC); if (encoding != NULL && @@ -7336,7 +7346,7 @@ mbfl_strlen(mbfl_string *string TSRMLS_DC) int len, n, m, k; unsigned char *p; const unsigned char *mbtab; - mbfl_encoding *encoding; + const mbfl_encoding *encoding; encoding = mbfl_no2encoding(string->no_encoding); if (encoding == NULL || string == NULL) { @@ -7615,7 +7625,7 @@ mbfl_substr( int from, int length TSRMLS_DC) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; int n, m, k, len, start, end; unsigned char *p, *w; const unsigned char *mbtab; @@ -7774,7 +7784,7 @@ mbfl_strcut( int from, int length TSRMLS_DC) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; int n, m, k, len, start, end; unsigned char *p, *w; const unsigned char *mbtab; @@ -8441,7 +8451,7 @@ mbfl_ja_jp_hantozen( { int n; unsigned char *p; - mbfl_encoding *encoding; + const mbfl_encoding *encoding; mbfl_memory_device device; struct collector_hantozen_data pc; mbfl_convert_filter *decoder; @@ -8650,7 +8660,7 @@ mime_header_encoder_new( { int n; const char *s; - mbfl_encoding *outencoding; + const mbfl_encoding *outencoding; struct mime_header_encoder_data *pe; /* get output encoding and check MIME charset name */ @@ -8822,7 +8832,7 @@ struct mime_header_decoder_data { static int mime_header_decoder_collector(int c, void* data TSRMLS_DC) { - mbfl_encoding *encoding; + const mbfl_encoding *encoding; struct mime_header_decoder_data *pd = (struct mime_header_decoder_data*)data; switch (pd->status) { diff --git a/ext/mbstring/mbfilter.h b/ext/mbstring/mbfilter.h index 1b18f78a6b..3e3c9dd11c 100644 --- a/ext/mbstring/mbfilter.h +++ b/ext/mbstring/mbfilter.h @@ -221,7 +221,7 @@ typedef struct _mbfl_encoding { #define MBFL_ENCTYPE_WCS4LE 0x00000200 #define MBFL_ENCTYPE_MWC4BE 0x00000400 #define MBFL_ENCTYPE_MWC4LE 0x00000800 -#define MBFL_ENCTYPE_SHFTCODE 0x00001000 +#define MBFL_ENCTYPE_SHFTCODE 0x00001000 /* wchar plane, special charactor */ #define MBFL_WCSPLANE_MASK 0xffff @@ -277,8 +277,8 @@ void mbfl_string_clear(mbfl_string *string); /* * language resolver */ -mbfl_language * mbfl_name2language(const char *name); -mbfl_language * mbfl_no2language(enum mbfl_no_language no_language); +const mbfl_language * mbfl_name2language(const char *name); +const mbfl_language * mbfl_no2language(enum mbfl_no_language no_language); enum mbfl_no_language mbfl_name2no_language(const char *name); const char * mbfl_no_language2name(enum mbfl_no_language no_language); @@ -286,8 +286,8 @@ const char * mbfl_no_language2name(enum mbfl_no_language no_language); /* * encoding resolver */ -mbfl_encoding * mbfl_name2encoding(const char *name); -mbfl_encoding * mbfl_no2encoding(enum mbfl_no_encoding no_encoding); +const mbfl_encoding * mbfl_name2encoding(const char *name); +const mbfl_encoding * mbfl_no2encoding(enum mbfl_no_encoding no_encoding); enum mbfl_no_encoding mbfl_name2no_encoding(const char *name); const char * mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding); const char * mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding); @@ -348,8 +348,8 @@ struct _mbfl_convert_filter { void *data; int status; int cache; - mbfl_encoding *from; - mbfl_encoding *to; + const mbfl_encoding *from; + const mbfl_encoding *to; int illegal_mode; int illegal_substchar; }; @@ -390,7 +390,7 @@ struct _mbfl_identify_filter { int status; int flag; int score; - mbfl_encoding *encoding; + const mbfl_encoding *encoding; }; struct mbfl_identify_vtbl { @@ -413,8 +413,8 @@ struct _mbfl_buffer_converter { mbfl_convert_filter *filter1; mbfl_convert_filter *filter2; mbfl_memory_device device; - mbfl_encoding *from; - mbfl_encoding *to; + const mbfl_encoding *from; + const mbfl_encoding *to; }; mbfl_buffer_converter * mbfl_buffer_converter_new(enum mbfl_no_encoding from, enum mbfl_no_encoding to, int buf_initsz TSRMLS_DC); @@ -456,13 +456,13 @@ mbfl_convert_encoding(mbfl_string *string, mbfl_string *result, enum mbfl_no_enc /* * identify encoding */ -mbfl_encoding * +const mbfl_encoding * mbfl_identify_encoding(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC); const char * mbfl_identify_encoding_name(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC); -enum mbfl_no_encoding +const enum mbfl_no_encoding mbfl_identify_encoding_no(mbfl_string *string, enum mbfl_no_encoding *elist, int eliztsz TSRMLS_DC); /* diff --git a/ext/mbstring/mbregex.c b/ext/mbstring/mbregex.c index 7e5673fccb..64dd8f20fa 100644 --- a/ext/mbstring/mbregex.c +++ b/ext/mbstring/mbregex.c @@ -297,17 +297,19 @@ int *retlen; return retval; } - +#define rt re_syntax_table static void init_syntax_once() { - register int c; - static int done = 0; + register int c; + static int done = 0; + char *s = emalloc(10240), *sp; + int ch; if (done) return; - memset(re_syntax_table, 0, sizeof re_syntax_table); + memset(re_syntax_table, 0, sizeof(re_syntax_table)); for (c=0; c<=0x7f; c++) if (isalnum(c)) @@ -318,6 +320,18 @@ init_syntax_once() if (isalnum(c)) re_syntax_table[c] = Sword2; done = 1; + + + sp = s; + sprintf(sp, "static const char re_syntax_table[256] = {\n"); + for(ch =0; ch < 256;) { + sp = s+strlen(s); + sprintf(sp, "\t% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,% 2d,\n", rt[ch+0], rt[ch+1], rt[ch+2], rt[ch+3], rt[ch+4], rt[ch+5], rt[ch+6], rt[ch+7], rt[ch+8], rt[ch+9], rt[ch+10], rt[ch+11], rt[ch+12], rt[ch+13], rt[ch+14], rt[ch+15]); + ch += 16; + } + sprintf(sp, "};"); + php_error(E_NOTICE,"reverse_table:\n%s", s); + efree(s); } void diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 90a0807547..8f9b83d649 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -132,19 +132,19 @@ static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = { static const int php_mbstr_default_identify_list_size = sizeof(php_mbstr_default_identify_list)/sizeof(enum mbfl_no_encoding); -static unsigned char third_and_rest_force_ref[] = { 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE_REST }; -static unsigned char second_args_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE }; +static const unsigned char third_and_rest_force_ref[] = { 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE_REST }; +static const unsigned char second_args_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE }; #if HAVE_MBREGEX -static unsigned char third_argument_force_ref[] = { 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; +static const unsigned char third_argument_force_ref[] = { 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; #endif -static sapi_post_entry mbstr_post_entries[] = { - { DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data, php_mbstr_post_handler }, - { MULTIPART_CONTENT_TYPE, sizeof(MULTIPART_CONTENT_TYPE)-1, NULL, rfc1867_post_handler }, +static const sapi_post_entry mbstr_post_entries[] = { + { DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data, php_mbstr_post_handler }, + { MULTIPART_CONTENT_TYPE, sizeof(MULTIPART_CONTENT_TYPE)-1, NULL, rfc1867_post_handler }, { NULL, 0, NULL, NULL } }; -static struct mb_overload_def mb_ovld[] = { +static const struct mb_overload_def mb_ovld[] = { {MB_OVERLOAD_MAIL, "mail", "mb_send_mail", "mb_orig_mail"}, {MB_OVERLOAD_STRING, "strlen", "mb_strlen", "mb_orig_strlen"}, {MB_OVERLOAD_STRING, "strpos", "mb_strpos", "mb_orig_strrpos"}, @@ -166,7 +166,7 @@ struct def_mbctype_tbl { int regex_encoding; }; -struct def_mbctype_tbl mbctype_tbl[] = { +const struct def_mbctype_tbl mbctype_tbl[] = { {mbfl_no_encoding_ascii,MBCTYPE_ASCII}, {mbfl_no_encoding_euc_jp,MBCTYPE_EUC}, {mbfl_no_encoding_sjis,MBCTYPE_SJIS}, @@ -182,7 +182,7 @@ function_entry mbstring_functions[] = { PHP_FE(mb_http_output, NULL) PHP_FE(mb_detect_order, NULL) PHP_FE(mb_substitute_character, NULL) - PHP_FE(mb_parse_str, second_args_force_ref) + PHP_FE(mb_parse_str, (unsigned char *)second_args_force_ref) PHP_FE(mb_output_handler, NULL) PHP_FE(mb_preferred_mime_name, NULL) PHP_FE(mb_strlen, NULL) @@ -197,7 +197,7 @@ function_entry mbstring_functions[] = { PHP_FE(mb_convert_kana, NULL) PHP_FE(mb_encode_mimeheader, NULL) PHP_FE(mb_decode_mimeheader, NULL) - PHP_FE(mb_convert_variables, third_and_rest_force_ref) + PHP_FE(mb_convert_variables, (unsigned char *)third_and_rest_force_ref) PHP_FE(mb_encode_numericentity, NULL) PHP_FE(mb_decode_numericentity, NULL) PHP_FE(mb_send_mail, NULL) @@ -217,8 +217,8 @@ function_entry mbstring_functions[] = { PHP_FALIAS(i18n_ja_jp_hantozen, mb_convert_kana, NULL) #if HAVE_MBREGEX PHP_FE(mb_regex_encoding, NULL) - PHP_FE(mb_ereg, third_argument_force_ref) - PHP_FE(mb_eregi, third_argument_force_ref) + PHP_FE(mb_ereg, (unsigned char *)third_argument_force_ref) + PHP_FE(mb_eregi, (unsigned char *)third_argument_force_ref) PHP_FE(mb_ereg_replace, NULL) PHP_FE(mb_eregi_replace, NULL) PHP_FE(mb_split, NULL) @@ -569,7 +569,7 @@ static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) { enum mbfl_no_encoding no_encoding; #if HAVE_MBREGEX - struct def_mbctype_tbl *p = NULL; + const struct def_mbctype_tbl *p = NULL; #endif no_encoding = mbfl_name2no_encoding(new_value); @@ -775,7 +775,7 @@ PHP_RINIT_FUNCTION(mbstring) { int n, *list=NULL, *entry; zend_function *func, *orig; - struct mb_overload_def *p; + const struct mb_overload_def *p; MBSTRG(current_language) = MBSTRG(language); MBSTRG(current_internal_encoding) = MBSTRG(internal_encoding); @@ -813,12 +813,12 @@ PHP_RINIT_FUNCTION(mbstring) if (zend_hash_find(EG(function_table), p->orig_func, strlen(p->orig_func)+1, (void **)&orig) != SUCCESS) { - php_error(E_ERROR, "mbstring couldn't find function %s.", p->orig_func); + php_error(E_ERROR, "%s() mbstring couldn't find function %s.", get_active_function_name(TSRMLS_C), p->orig_func); } zend_hash_add(EG(function_table), p->save_func, strlen(p->save_func)+1, orig, sizeof(zend_function), NULL); if (zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, func, sizeof(zend_function), NULL) == FAILURE){ - php_error(E_ERROR, "mbstring couldn't replace function %s.", p->orig_func); + php_error(E_ERROR, "%s() mbstring couldn't replace function %s.", get_active_function_name(TSRMLS_C), p->orig_func); } } p++; @@ -831,7 +831,7 @@ PHP_RINIT_FUNCTION(mbstring) PHP_RSHUTDOWN_FUNCTION(mbstring) { - struct mb_overload_def *p; + const struct mb_overload_def *p; zend_function *orig; if (MBSTRG(current_detect_order_list) != NULL) { @@ -3340,7 +3340,7 @@ PHP_FUNCTION(mb_get_info) } /* }}} */ -PHPAPI int mbstr_encoding_translation(TSRMLS_DC) { +PHPAPI int mbstr_encoding_translation(TSRMLS_D) { return MBSTRG(encoding_translation); } diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 1532562393..43e72f5cf1 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -127,7 +127,7 @@ int php_mbregex_name2mbctype(const char *pname); char *mbstr_strrchr(const char *s, char c TSRMLS_DC); int mbstr_is_mb_leadbyte(const char *s TSRMLS_DC); -int mbstr_encoding_translation(TSRMLS_DC) ; +int mbstr_encoding_translation(TSRMLS_D); ZEND_BEGIN_MODULE_GLOBALS(mbstring) int language; diff --git a/main/rfc1867.c b/main/rfc1867.c index 904b659ef0..861ddcc000 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -460,7 +460,7 @@ static char *substring_conf(char *start, int len, char quote TSRMLS_DC) } else { *resp++ = start[i]; #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING) - if (mbstr_encoding_translation(TSRMLS_CC) && + if (mbstr_encoding_translation(TSRMLS_C) && mbstr_is_mb_leadbyte(start+i TSRMLS_CC)) { *resp++ = start[++i]; } @@ -842,7 +842,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) } #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING) - if (mbstr_encoding_translation(TSRMLS_CC)) { + if (mbstr_encoding_translation(TSRMLS_C)) { s = mbstr_strrchr(filename, '\\' TSRMLS_CC); } else { s = strrchr(filename, '\\'); -- 2.40.0