summaryrefslogtreecommitdiff
path: root/ext/simplexml/simplexml.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-02-21 20:12:43 +0000
committerDmitry Stogov <dmitry@php.net>2006-02-21 20:12:43 +0000
commit0f1209ab3d1f9ec0f1ea7295fa987ba4dea270c8 (patch)
treef599e4188e236ccf04fa0f74518e6c10bbcb5d14 /ext/simplexml/simplexml.c
parentfca6eecbe944effb6374e63271a008947b266e64 (diff)
downloadphp-git-0f1209ab3d1f9ec0f1ea7295fa987ba4dea270c8.tar.gz
Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len - use union "zstr" as char*/UChar* mixture instead of void* - Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE() - nuke int32_t from ZE (not finisned)
Diffstat (limited to 'ext/simplexml/simplexml.c')
-rw-r--r--ext/simplexml/simplexml.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index 487c7d0d8f..5c2ac62dcd 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -1701,7 +1701,7 @@ SXE_METHOD(__construct)
static void php_sxe_iterator_dtor(zend_object_iterator *iter TSRMLS_DC);
static int php_sxe_iterator_valid(zend_object_iterator *iter TSRMLS_DC);
static void php_sxe_iterator_current_data(zend_object_iterator *iter, zval ***data TSRMLS_DC);
-static int php_sxe_iterator_current_key(zend_object_iterator *iter, char **str_key, uint *str_key_len, ulong *int_key TSRMLS_DC);
+static int php_sxe_iterator_current_key(zend_object_iterator *iter, zstr *str_key, uint *str_key_len, ulong *int_key TSRMLS_DC);
static void php_sxe_iterator_move_forward(zend_object_iterator *iter TSRMLS_DC);
static void php_sxe_iterator_rewind(zend_object_iterator *iter TSRMLS_DC);
@@ -1812,7 +1812,7 @@ static void php_sxe_iterator_current_data(zend_object_iterator *iter, zval ***da
*data = &iterator->sxe->iter.data;
}
-static int php_sxe_iterator_current_key(zend_object_iterator *iter, char **str_key, uint *str_key_len, ulong *int_key TSRMLS_DC)
+static int php_sxe_iterator_current_key(zend_object_iterator *iter, zstr *str_key, uint *str_key_len, ulong *int_key TSRMLS_DC)
{
zval *curobj;
xmlNodePtr curnode = NULL;
@@ -1832,12 +1832,12 @@ static int php_sxe_iterator_current_key(zend_object_iterator *iter, char **str_k
int32_t u_len;
namelen = xmlStrlen(curnode->name);
- zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), (UChar**)str_key, &u_len, (char*)curnode->name, namelen, &status);
+ zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &str_key->u, &u_len, (char*)curnode->name, namelen, &status);
*str_key_len = u_len + 1;
return HASH_KEY_IS_UNICODE;
} else {
namelen = xmlStrlen(curnode->name);
- *str_key = estrndup(curnode->name, namelen);
+ str_key->s = estrndup(curnode->name, namelen);
*str_key_len = namelen + 1;
return HASH_KEY_IS_STRING;
}