@@ -2623,23 +2623,22 @@ zend_bool s_double_value(const char *str, double *value)
2623
2623
static
2624
2624
memcached_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 )
2625
2625
{
2626
- char * server_key ;
2627
- size_t server_key_len ;
2626
+ zend_string * server_key ;
2628
2627
zend_long long_val ;
2629
2628
double d_val ;
2630
2629
char * buffer ;
2631
2630
2632
2631
zval * return_value = (zval * ) context ;
2633
2632
zval * server_values ;
2634
2633
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 );
2637
2636
2638
2637
if (!server_values ) {
2639
2638
zval zv ;
2640
2639
array_init (& zv );
2641
2640
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 );
2643
2642
}
2644
2643
2645
2644
spprintf (& buffer , 0 , "%.*s" , value_length , value );
@@ -2655,7 +2654,8 @@ memcached_return s_stat_execute_cb (php_memcached_instance_st instance, const ch
2655
2654
add_assoc_stringl_ex (server_values , key , key_length , (char * )value , value_length );
2656
2655
}
2657
2656
efree (buffer );
2658
- efree (server_key );
2657
+ zend_string_release (server_key );
2658
+
2659
2659
return MEMCACHED_SUCCESS ;
2660
2660
}
2661
2661
0 commit comments