cvs: php-src /ext/pcre php_pcre.c
| From: | Andrei Zmievski | Date: | Tue, 29 Aug 2006 22:52:37 +0000 |
| Subject: | cvs: php-src /ext/pcre php_pcre.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-40176@lists.php.net to get a copy of this message | ||
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);
}