moriyoshi Sat Nov 9 11:15:41 2002 EDT Modified files: /php4/ext/mbstring mbstring.c Log: Fixed PHP_INI_MH(OnUpdate_mbstring_language) so that ini entry values are properly updated. Index: php4/ext/mbstring/mbstring.c diff -u php4/ext/mbstring/mbstring.c:1.128 php4/ext/mbstring/mbstring.c:1.129 --- php4/ext/mbstring/mbstring.c:1.128 Sun Nov 3 03:50:43 2002 +++ php4/ext/mbstring/mbstring.c Sat Nov 9 11:15:40 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.128 2002/11/03 08:50:43 moriyoshi Exp $ */ +/* $Id: mbstring.c,v 1.129 2002/11/09 16:15:40 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -82,6 +82,8 @@ MUTEX_T mbregex_locale_mutex = NULL; #endif +#define PHP_MB_DEFAULT_ENCODING "ISO-8859-1" + /* {{{ php_mbstr_default_identify_list[] */ #if defined(HAVE_MBSTR_JA) static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = { @@ -514,6 +516,7 @@ static PHP_INI_MH(OnUpdate_mbstring_language) { enum mbfl_no_language no_language; + char *default_enc = NULL; no_language = mbfl_name2no_language(new_value); if (no_language != mbfl_no_language_invalid) { @@ -521,42 +524,41 @@ case mbfl_no_language_japanese: MBSTRG(language) = mbfl_no_language_japanese; MBSTRG(current_language) = mbfl_no_language_japanese; - MBSTRG(internal_encoding) = mbfl_no_encoding_euc_jp; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_jp; + default_enc = "EUC-JP"; break; case mbfl_no_language_korean: MBSTRG(language) = mbfl_no_language_korean; MBSTRG(current_language) = mbfl_no_language_korean; - MBSTRG(internal_encoding) = mbfl_no_encoding_euc_kr; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_kr; + default_enc = "EUC-KR"; break; case mbfl_no_language_simplified_chinese: MBSTRG(language) = mbfl_no_language_simplified_chinese; MBSTRG(current_language) = mbfl_no_language_simplified_chinese; - MBSTRG(internal_encoding) = mbfl_no_encoding_euc_cn; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_cn; + default_enc = "EUC-CN"; break; case mbfl_no_language_traditional_chinese: MBSTRG(language) = mbfl_no_language_traditional_chinese; MBSTRG(current_language) = mbfl_no_language_traditional_chinese; - MBSTRG(internal_encoding) = mbfl_no_encoding_euc_tw; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_tw; + default_enc = "EUC-TW"; break; case mbfl_no_language_russian: MBSTRG(language) = mbfl_no_language_russian; MBSTRG(current_language) = mbfl_no_language_russian; - MBSTRG(internal_encoding) = mbfl_no_encoding_koi8r; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_koi8r; + default_enc = "KOI8-R"; break; case mbfl_no_language_english: default: MBSTRG(language) = mbfl_no_language_english; MBSTRG(current_language) = mbfl_no_language_english; - MBSTRG(internal_encoding) = mbfl_no_encoding_8859_1; - MBSTRG(current_internal_encoding) = mbfl_no_encoding_8859_1; + default_enc = "ISO-8859-1"; break; } - + if (default_enc) { + zend_alter_ini_entry("mbstring.internal_encoding", + sizeof("mbstring.internal_encoding"), + default_enc, strlen(default_enc), + PHP_INI_PERDIR, stage); + } } else { return FAILURE; } @@ -730,7 +732,7 @@ PHP_INI_ENTRY("mbstring.detect_order", NULL, PHP_INI_ALL, OnUpdate_mbstring_detect_order) PHP_INI_ENTRY("mbstring.http_input", NULL, PHP_INI_ALL, OnUpdate_mbstring_http_input) PHP_INI_ENTRY("mbstring.http_output", NULL, PHP_INI_ALL, OnUpdate_mbstring_http_output) - PHP_INI_ENTRY("mbstring.internal_encoding", NULL, PHP_INI_ALL, OnUpdate_mbstring_internal_encoding) + PHP_INI_ENTRY("mbstring.internal_encoding", PHP_MB_DEFAULT_ENCODING, +PHP_INI_ALL, OnUpdate_mbstring_internal_encoding) #ifdef ZEND_MULTIBYTE PHP_INI_ENTRY("mbstring.script_encoding", NULL, PHP_INI_ALL, OnUpdate_mbstring_script_encoding) #endif /* ZEND_MULTIBYTE */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php