Unicode support

This commit is contained in:
Dmitry Stogov 2005-08-12 13:09:58 +00:00
parent 3e7ab37d9f
commit e1627558ed

View File

@ -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;