dmitry Fri Aug 12 10:57:59 2005 EDT
Modified files:
/php-src/ext/dom php_dom.c
Log:
Unicode support
http://cvs.php.net/diff.php/php-src/ext/dom/php_dom.c?r1=1.76&r2=1.77&ty=u
Index: php-src/ext/dom/php_dom.c
diff -u php-src/ext/dom/php_dom.c:1.76 php-src/ext/dom/php_dom.c:1.77
--- php-src/ext/dom/php_dom.c:1.76 Fri Aug 12 10:08:22 2005
+++ php-src/ext/dom/php_dom.c Fri Aug 12 10:57:58 2005
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_dom.c,v 1.76 2005/08/12 14:08:22 sebastian Exp $ */
+/* $Id: php_dom.c,v 1.77 2005/08/12 14:57:58 dmitry Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -244,17 +244,17 @@
zend_object_handlers *std_hnd;
int ret = FAILURE;
- if (member->type != IS_STRING) {
+ if (member->type != IS_STRING && member->type != IS_UNICODE) {
tmp_member = *member;
zval_copy_ctor(&tmp_member);
- convert_to_string(&tmp_member);
+ convert_to_text(&tmp_member);
member = &tmp_member;
}
obj = (dom_object *)zend_objects_get_address(object TSRMLS_CC);
if (obj->prop_handler != NULL) {
- ret = zend_hash_find(obj->prop_handler, Z_STRVAL_P(member),
Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_u_hash_find(obj->prop_handler, Z_TYPE_P(member),
Z_UNIVAL_P(member), Z_UNILEN_P(member)+1, (void **) &hnd);
}
if (ret == FAILURE) {
std_hnd = zend_get_std_object_handlers();
@@ -277,10 +277,10 @@
zend_object_handlers *std_hnd;
int ret;
- if (member->type != IS_STRING) {
+ if (member->type != IS_STRING && member->type != IS_UNICODE) {
tmp_member = *member;
zval_copy_ctor(&tmp_member);
- convert_to_string(&tmp_member);
+ convert_to_text(&tmp_member);
member = &tmp_member;
}
@@ -288,7 +288,7 @@
obj = (dom_object *)zend_objects_get_address(object TSRMLS_CC);
if (obj->prop_handler != NULL) {
- ret = zend_hash_find(obj->prop_handler, Z_STRVAL_P(member),
Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_u_hash_find(obj->prop_handler, Z_TYPE_P(member),
Z_UNIVAL_P(member), Z_UNILEN_P(member)+1, (void **) &hnd);
}
if (ret == SUCCESS) {
ret = hnd->read_func(obj, &retval TSRMLS_CC);
@@ -319,10 +319,10 @@
zend_object_handlers *std_hnd;
int ret;
- if (member->type != IS_STRING) {
+ if (member->type != IS_STRING && member->type != IS_UNICODE) {
tmp_member = *member;
zval_copy_ctor(&tmp_member);
- convert_to_string(&tmp_member);
+ convert_to_text(&tmp_member);
member = &tmp_member;
}
@@ -330,7 +330,7 @@
obj = (dom_object *)zend_objects_get_address(object TSRMLS_CC);
if (obj->prop_handler != NULL) {
- ret = zend_hash_find((HashTable *)obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_u_hash_find((HashTable *)obj->prop_handler,
Z_TYPE_P(member), Z_UNIVAL_P(member), Z_UNILEN_P(member)+1, (void **) &hnd);
}
if (ret == SUCCESS) {
hnd->write_func(obj, value TSRMLS_CC);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php