From: Dmitry Stogov Date: Fri, 12 Aug 2005 13:09:58 +0000 (+0000) Subject: Unicode support X-Git-Tag: PRE_NEW_OCI8_EXTENSION~314 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e1627558ed1e884ce549c3fde07cf75917471232;p=php Unicode support --- diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index f7c669a40d..e131ce93f5 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -949,6 +949,10 @@ SPL_METHOD(dual_it, key) if (intern->current.data) { if (intern->current.key_type == HASH_KEY_IS_STRING) { RETURN_STRINGL(intern->current.str_key, intern->current.str_key_len-1, 1); + } else if (intern->current.key_type == HASH_KEY_IS_BINARY) { + RETURN_BINARYL(intern->current.str_key, intern->current.str_key_len-1, 1); + } else if (intern->current.key_type == HASH_KEY_IS_UNICODE) { + RETURN_UNICODEL(intern->current.str_key, intern->current.str_key_len-1, 1); } else { RETURN_LONG(intern->current.int_key); } @@ -1911,6 +1915,14 @@ PHP_FUNCTION(iterator_to_array) add_assoc_zval_ex(return_value, str_key, str_key_len, *data); efree(str_key); break; + case HASH_KEY_IS_BINARY: + add_u_assoc_zval_ex(return_value, IS_BINARY, str_key, str_key_len, *data); + efree(str_key); + break; + case HASH_KEY_IS_UNICODE: + add_u_assoc_zval_ex(return_value, IS_UNICODE, str_key, str_key_len, *data); + efree(str_key); + break; case HASH_KEY_IS_LONG: add_index_zval(return_value, int_key, *data); break;