]> granicus.if.org Git - php/commitdiff
Unicode support
authorDmitry Stogov <dmitry@php.net>
Tue, 16 Aug 2005 14:33:02 +0000 (14:33 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 16 Aug 2005 14:33:02 +0000 (14:33 +0000)
Zend/zend_API.c

index f1cac21a146e657a5aa4eda4435f2e59feac4d4b..16fdaf58d3fc0d569003128a210f72067cc198db 100644 (file)
@@ -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;