diff options
Diffstat (limited to 'ext/mbstring/mbstring.c')
-rw-r--r-- | ext/mbstring/mbstring.c | 45 |
1 files changed, 14 insertions, 31 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index e90c6967b8..581970f379 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -75,10 +75,6 @@ #endif /* ZEND_MULTIBYTE */ #if HAVE_MBSTRING - -#if HAVE_MBREGEX -#include "mbregex.h" -#endif /* }}} */ /* {{{ prototypes */ @@ -171,21 +167,6 @@ static const struct mb_overload_def mb_ovld[] = { }; /* }}} */ -#if HAVE_MBREGEX -struct def_mbctype_tbl { - enum mbfl_no_encoding mbfl_encoding; - int regex_encoding; -}; - -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}, - {mbfl_no_encoding_utf8,MBCTYPE_UTF8}, - {mbfl_no_encoding_pass,-1} -}; -#endif - /* {{{ function_entry mbstring_functions[] */ function_entry mbstring_functions[] = { PHP_FE(mb_convert_case, NULL) @@ -524,9 +505,6 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) { enum mbfl_no_encoding no_encoding; -#if HAVE_MBREGEX - const struct def_mbctype_tbl *p = NULL; -#endif if (new_value == NULL) { return SUCCESS; } @@ -536,14 +514,13 @@ static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) MBSTRG(internal_encoding) = no_encoding; MBSTRG(current_internal_encoding) = no_encoding; #if HAVE_MBREGEX - p=&(mbctype_tbl[0]); - while (p->regex_encoding >= 0){ - if (p->mbfl_encoding == MBSTRG(internal_encoding)){ - MBSTRG(default_mbctype) = p->regex_encoding; - MBSTRG(current_mbctype) = p->regex_encoding; - break; - } - p++; + { + php_mb_reg_char_encoding mbctype; + mbctype = php_mb_regex_name2mbctype(new_value); + if (mbctype == REGCODE_UNDEF) { + mbctype = REGCODE_EUCJP; + } + MBSTRG(current_mbctype) = MBSTRG(default_mbctype) = mbctype; } #endif #ifdef ZEND_MULTIBYTE @@ -900,8 +877,11 @@ PHP_RSHUTDOWN_FUNCTION(mbstring) /* {{{ PHP_MINFO_FUNCTION(mbstring) */ PHP_MINFO_FUNCTION(mbstring) { + char buf[32]; + php_info_print_table_start(); php_info_print_table_row(2, "Multibyte Support", "enabled"); + php_info_print_table_row(2, "Multibyte string engine", "libmbfl"); #if defined(HAVE_MBSTR_JA) php_info_print_table_row(2, "Japanese support", "enabled"); #endif @@ -921,7 +901,10 @@ PHP_MINFO_FUNCTION(mbstring) php_info_print_table_row(2, "HTTP input encoding translation", "enabled"); } #if defined(HAVE_MBREGEX) - php_info_print_table_row(2, "Multibyte (japanese) regex support", "enabled"); + php_info_print_table_row(2, "Multibyte (japanese) regex support", "enabled"); + sprintf(buf, "%d.%d.%d", + ONIGURUMA_VERSION_MAJOR,ONIGURUMA_VERSION_MINOR,ONIGURUMA_VERSION_TEENY); + php_info_print_table_row(2, "Multibyte regex (oniguruma) version", buf); #endif php_info_print_table_end(); |