andrei          Tue Aug 29 22:52:37 2006 UTC

  Modified files:              
    /php-src/ext/pcre   php_pcre.c 
  Log:
  Check for is_utf8.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pcre/php_pcre.c?r1=1.193&r2=1.194&diff_format=u
Index: php-src/ext/pcre/php_pcre.c
diff -u php-src/ext/pcre/php_pcre.c:1.193 php-src/ext/pcre/php_pcre.c:1.194
--- php-src/ext/pcre/php_pcre.c:1.193   Tue Aug 29 22:16:26 2006
+++ php-src/ext/pcre/php_pcre.c Tue Aug 29 22:52:37 2006
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_pcre.c,v 1.193 2006/08/29 22:16:26 andrei Exp $ */
+/* $Id: php_pcre.c,v 1.194 2006/08/29 22:52:37 andrei Exp $ */
 
 /* UTODO
  *  - PCRE_NO_UTF8_CHECK option for Unicode strings
@@ -829,12 +829,17 @@
                int u_len;
                for (i = 0; i < num_subpats; i++) {
                        if (subpat_names[i]) {
-                               zend_string_to_unicode_ex(UG(utf8_conv), &u, 
&u_len, subpat_names[i], strlen(subpat_names[i]), &status);
-                               zend_u_hash_update(Z_ARRVAL_P(subpats), 
IS_UNICODE, ZSTR(u),
-                                                                  u_len+1, 
&match_sets[i], sizeof(zval *), NULL);
-                               ZVAL_ADDREF(match_sets[i]);
-                               efree(u);
-                               status = U_ZERO_ERROR;
+                               if (is_utf8) {
+                                       
zend_string_to_unicode_ex(UG(utf8_conv), &u, &u_len, subpat_names[i], 
strlen(subpat_names[i]), &status);
+                                       zend_u_hash_update(Z_ARRVAL_P(subpats), 
IS_UNICODE, ZSTR(u),
+                                                                          
u_len+1, &match_sets[i], sizeof(zval *), NULL);
+                                       ZVAL_ADDREF(match_sets[i]);
+                                       efree(u);
+                                       status = U_ZERO_ERROR;
+                               } else {
+                                       zend_hash_update(Z_ARRVAL_P(subpats), 
subpat_names[i],
+                                                                        
strlen(subpat_names[i])+1, &match_sets[i], sizeof(zval *), NULL);
+                               }
                        }
                        zend_hash_next_index_insert(Z_ARRVAL_P(subpats), 
&match_sets[i], sizeof(zval *), NULL);
                }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to