moriyoshi Thu Aug 7 15:45:26 2003 EDT Modified files: /php-src/ext/mbstring mbstring.c Log: Fix wrong behaviour under ZTS that was inconsistent with non-ZTS. # This patch really needs MFH Index: php-src/ext/mbstring/mbstring.c diff -u php-src/ext/mbstring/mbstring.c:1.183 php-src/ext/mbstring/mbstring.c:1.184 --- php-src/ext/mbstring/mbstring.c:1.183 Wed Aug 6 18:01:23 2003 +++ php-src/ext/mbstring/mbstring.c Thu Aug 7 15:45:26 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.183 2003/08/06 22:01:23 moriyoshi Exp $ */ +/* $Id: mbstring.c,v 1.184 2003/08/07 19:45:26 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" @@ -487,10 +487,29 @@ } MBSTRG(current_language) = MBSTRG(language); if (default_enc) { - zend_alter_ini_entry("mbstring.internal_encoding", - sizeof("mbstring.internal_encoding"), - default_enc, strlen(default_enc), - PHP_INI_PERDIR, stage); + enum mbfl_no_encoding no_encoding; +#if HAVE_MBREGEX + const struct def_mbctype_tbl *p = NULL; +#endif + no_encoding = mbfl_name2no_encoding(default_enc); + if (no_encoding != mbfl_no_encoding_invalid) { + 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++; + } +#endif +#ifdef ZEND_MULTIBYTE + zend_multibyte_set_internal_encoding(new_value, new_value_length TSRMLS_CC); +#endif /* ZEND_MULTIBYTE */ + } } } else { return FAILURE;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php