cvs: php4 /ext/standard array.c

From: Date: Mon, 12 Mar 2001 08:07:00 +0000
Subject: cvs: php4 /ext/standard array.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4502@lists.php.net to get a copy of this message
stas Mon Mar 12 00:07:00 2001 EDT Modified files: /php4/ext/standard array.c Log: Use hash position with array_flip Index: php4/ext/standard/array.c diff -u php4/ext/standard/array.c:1.99 php4/ext/standard/array.c:1.100 --- php4/ext/standard/array.c:1.99 Sun Mar 11 19:10:15 2001 +++ php4/ext/standard/array.c Mon Mar 12 00:07:00 2001 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.99 2001/03/12 03:10:15 andrei Exp $ */ +/* $Id: array.c,v 1.100 2001/03/12 08:07:00 stas Exp $ */ #include "php.h" #include "php_ini.h" @@ -2173,8 +2173,10 @@ zval **array, **entry, *data; HashTable *target_hash; char *string_key; + ulong str_key_len; ulong num_key; - + HashPosition pos; + if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &array) == FAILURE) { WRONG_PARAM_COUNT; } @@ -2187,13 +2189,13 @@ array_init(return_value); - zend_hash_internal_pointer_reset(target_hash); - while (zend_hash_get_current_data(target_hash, (void **)&entry) == SUCCESS) { + zend_hash_internal_pointer_reset_ex(target_hash, &pos); + while (zend_hash_get_current_data_ex(target_hash, (void **)&entry, &pos) == SUCCESS) { MAKE_STD_ZVAL(data); - switch (zend_hash_get_current_key(target_hash, &string_key, &num_key, 1)) { + switch (zend_hash_get_current_key_ex(target_hash, &string_key, &str_key_len, &num_key, 1, &pos)) { case HASH_KEY_IS_STRING: Z_STRVAL_P(data) = string_key; - Z_STRLEN_P(data) = strlen(string_key); + Z_STRLEN_P(data) = str_key_len; Z_TYPE_P(data) = IS_STRING; break; case HASH_KEY_IS_LONG: @@ -2211,7 +2213,7 @@ php_error(E_WARNING, "Can only flip STRING and INTEGER values!"); } - zend_hash_move_forward(target_hash); + zend_hash_move_forward_ex(target_hash, &pos); } } /* }}} */

« previous php.cvs (#4502) next »