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

Reply via email to