summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-08-16 14:33:02 +0000
committerDmitry Stogov <dmitry@php.net>2005-08-16 14:33:02 +0000
commit903406ef8f3f9d688b97f0f2938dac01479c6196 (patch)
tree82d9eb4b11d2e8060cc1331db16a17287e2cc435
parentb3d7ae9399128311470309891f1aa07b6feb6a50 (diff)
downloadphp-git-903406ef8f3f9d688b97f0f2938dac01479c6196.tar.gz
Unicode support
-rw-r--r--Zend/zend_API.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index f1cac21a14..16fdaf58d3 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -989,7 +989,14 @@ static int zend_merge_property(zval **value, int num_args, va_list args, zend_ha
zval member;
TSRMLS_FETCH();
- ZVAL_STRINGL(&member, hash_key->u.string, hash_key->nKeyLength-1, 0);
+ if (hash_key->type == IS_STRING) {
+ ZVAL_STRINGL(&member, hash_key->u.string, hash_key->nKeyLength-1, 0);
+ } else if (hash_key->type == IS_BINARY) {
+ ZVAL_BINARYL(&member, hash_key->u.string, hash_key->nKeyLength-1, 0);
+ } else if (hash_key->type == IS_UNICODE) {
+ ZVAL_UNICODEL(&member, hash_key->u.unicode, hash_key->nKeyLength-1, 0);
+ }
+
obj_ht->write_property(obj, &member, *value TSRMLS_CC);
}
return ZEND_HASH_APPLY_KEEP;