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