@@ -2623,23 +2623,22 @@ zend_bool s_double_value(const char *str, double *value)
26232623static
26242624memcached_return s_stat_execute_cb (php_memcached_instance_st instance , const char * key , size_t key_length , const char * value , size_t value_length , void * context )
26252625{
2626- char * server_key ;
2627- size_t server_key_len ;
2626+ zend_string * server_key ;
26282627 zend_long long_val ;
26292628 double d_val ;
26302629 char * buffer ;
26312630
26322631 zval * return_value = (zval * ) context ;
26332632 zval * server_values ;
26342633
2635- server_key_len = spprintf ( & server_key , 0 , "%s:%d" , memcached_server_name (instance ), memcached_server_port (instance ));
2636- server_values = zend_hash_str_find (Z_ARRVAL_P (return_value ), server_key , server_key_len );
2634+ server_key = strpprintf ( 0 , "%s:%d" , memcached_server_name (instance ), memcached_server_port (instance ));
2635+ server_values = zend_hash_find (Z_ARRVAL_P (return_value ), server_key );
26372636
26382637 if (!server_values ) {
26392638 zval zv ;
26402639 array_init (& zv );
26412640
2642- server_values = zend_hash_str_add (Z_ARRVAL_P (return_value ), server_key , server_key_len , & zv );
2641+ server_values = zend_hash_add (Z_ARRVAL_P (return_value ), server_key , & zv );
26432642 }
26442643
26452644 spprintf (& buffer , 0 , "%.*s" , value_length , value );
@@ -2655,7 +2654,8 @@ memcached_return s_stat_execute_cb (php_memcached_instance_st instance, const ch
26552654 add_assoc_stringl_ex (server_values , key , key_length , (char * )value , value_length );
26562655 }
26572656 efree (buffer );
2658- efree (server_key );
2657+ zend_string_release (server_key );
2658+
26592659 return MEMCACHED_SUCCESS ;
26602660}
26612661
0 commit comments