3737#include "ext/session/php_session.h"
3838#endif
3939
40- #include <ext/standard/php_smart_string.h>
4140#include <ext/standard/php_var.h>
4241#include <ext/standard/php_math.h>
4342
@@ -674,7 +673,7 @@ PHP_METHOD(Redis,__destruct) {
674673 }
675674
676675 // If we think we're in MULTI mode, send a discard
677- if ( redis_sock -> mode == MULTI ) {
676+ IF_MULTI ( ) {
678677 // Discard any multi commands, and free any callbacks that have been
679678 // queued
680679 send_discard_static (redis_sock TSRMLS_CC );
@@ -952,7 +951,6 @@ PHP_METHOD(Redis, getMultiple)
952951{
953952 zval * object , * z_args , * z_ele ;
954953 HashTable * hash ;
955- HashPosition ptr ;
956954 RedisSock * redis_sock ;
957955 smart_string cmd = {0 };
958956 int arg_count ;
@@ -980,10 +978,7 @@ PHP_METHOD(Redis, getMultiple)
980978 redis_cmd_init_sstr (& cmd , arg_count , "MGET" , 4 );
981979
982980 /* Iterate through and grab our keys */
983- for (zend_hash_internal_pointer_reset_ex (hash , & ptr );
984- (z_ele = zend_hash_get_current_data_ex (hash , & ptr )) != NULL ;
985- zend_hash_move_forward_ex (hash , & ptr ))
986- {
981+ ZEND_HASH_FOREACH_VAL (hash , z_ele ) {
987982 char * key ;
988983 int key_free ;
989984 size_t key_len ;
@@ -1005,7 +1000,7 @@ PHP_METHOD(Redis, getMultiple)
10051000
10061001 /* Decrement refcount/free temporary string. */
10071002 zend_string_release (key_zstr );
1008- }
1003+ } ZEND_HASH_FOREACH_END ();
10091004
10101005 /* Kick off our command */
10111006 REDIS_PROCESS_REQUEST (redis_sock , cmd .c , cmd .len );
@@ -2518,7 +2513,6 @@ PHP_REDIS_API void generic_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS,
25182513{
25192514 zval * object , * array , * data ;
25202515 HashTable * arr_hash ;
2521- HashPosition pointer ;
25222516 RedisSock * redis_sock ;
25232517 char * cmd = "" , * old_cmd = NULL ;
25242518 int cmd_len , array_count ;
@@ -2541,10 +2535,7 @@ PHP_REDIS_API void generic_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS,
25412535 RETURN_FALSE ;
25422536 }
25432537
2544- for (zend_hash_internal_pointer_reset_ex (arr_hash , & pointer );
2545- (data = zend_hash_get_current_data_ex (arr_hash , & pointer )) != NULL ;
2546- zend_hash_move_forward_ex (arr_hash , & pointer )) {
2547-
2538+ ZEND_HASH_FOREACH_VAL (arr_hash , data ) {
25482539 if (Z_TYPE_P (data ) == IS_STRING ) {
25492540 char * old_cmd = NULL ;
25502541 if (* cmd ) {
@@ -2555,7 +2546,7 @@ PHP_REDIS_API void generic_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS,
25552546 efree (old_cmd );
25562547 }
25572548 }
2558- }
2549+ } ZEND_HASH_FOREACH_END ();
25592550
25602551 old_cmd = cmd ;
25612552 cmd_len = spprintf (& cmd , 0 , "%s %s\r\n" , unsub_cmd , cmd );
@@ -2905,10 +2896,7 @@ redis_build_pubsub_cmd(RedisSock *redis_sock, char **ret, PUBSUB_TYPE type,
29052896 redis_cmd_append_sstr (& cmd , "NUMSUB" , sizeof ("NUMSUB" )- 1 );
29062897
29072898 /* Iterate our elements */
2908- for (zend_hash_internal_pointer_reset_ex (ht_chan , & ptr );
2909- (z_ele = zend_hash_get_current_data_ex (ht_chan , & ptr )) != NULL ;
2910- zend_hash_move_forward_ex (ht_chan , & ptr ))
2911- {
2899+ ZEND_HASH_FOREACH_VAL (ht_chan , z_ele ) {
29122900 char * key ;
29132901 int key_free ;
29142902 size_t key_len ;
@@ -2928,7 +2916,7 @@ redis_build_pubsub_cmd(RedisSock *redis_sock, char **ret, PUBSUB_TYPE type,
29282916
29292917 /* Decrement reference count to temporary/underlying zend_string */
29302918 zend_string_release (key_zstr );
2931- }
2919+ } ZEND_HASH_FOREACH_END ();
29322920
29332921 /* Set return */
29342922 * ret = cmd .c ;
@@ -3026,7 +3014,6 @@ redis_build_eval_cmd(RedisSock *redis_sock, char **ret, char *keyword,
30263014{
30273015 zval * elem ;
30283016 HashTable * args_hash ;
3029- HashPosition hash_pos ;
30303017 int cmd_len , args_count = 0 ;
30313018 int eval_cmd_count = 2 ;
30323019
@@ -3049,10 +3036,7 @@ redis_build_eval_cmd(RedisSock *redis_sock, char **ret, char *keyword,
30493036 cmd_len = redis_cmd_append_int (ret , cmd_len , keys_count );
30503037
30513038 // Iterate the values in our "keys" array
3052- for (zend_hash_internal_pointer_reset_ex (args_hash , & hash_pos );
3053- (elem = zend_hash_get_current_data_ex (args_hash , & hash_pos )) != NULL ;
3054- zend_hash_move_forward_ex (args_hash , & hash_pos ))
3055- {
3039+ ZEND_HASH_FOREACH_VAL (args_hash , elem ) {
30563040 char * key , * old_cmd ;
30573041 int key_free ;
30583042 size_t key_len ;
@@ -3079,7 +3063,7 @@ redis_build_eval_cmd(RedisSock *redis_sock, char **ret, char *keyword,
30793063
30803064 // Free our temporary string if we created one (or decrement refcount)
30813065 zend_string_release (key_zstr );
3082- }
3066+ } ZEND_HASH_FOREACH_END ();
30833067 }
30843068 }
30853069
0 commit comments