@@ -525,15 +525,14 @@ static
525
525
void s_uint64_to_zval (zval * target , uint64_t value )
526
526
{
527
527
if (value >= ((uint64_t ) LONG_MAX )) {
528
- char * buffer ;
528
+ zend_string * buffer ;
529
529
#ifdef PRIu64
530
- spprintf ( & buffer , 0 , "%" PRIu64 , value );
530
+ buffer = strpprintf ( 0 , "%" PRIu64 , value );
531
531
#else
532
532
/* Best effort */
533
- spprintf ( & buffer , 0 , "%llu" , value );
533
+ buffer = strpprintf ( 0 , "%llu" , value );
534
534
#endif
535
- ZVAL_STRING (target , buffer );
536
- efree (buffer );
535
+ ZVAL_STR (target , buffer );
537
536
}
538
537
else {
539
538
ZVAL_LONG (target , (zend_long ) value );
@@ -3331,28 +3330,28 @@ memcached_return s_server_cursor_list_servers_cb(const memcached_st *ptr, php_me
3331
3330
static
3332
3331
memcached_return s_server_cursor_version_cb (const memcached_st * ptr , php_memcached_instance_st instance , void * in_context )
3333
3332
{
3334
- char * address , * version ;
3335
- size_t address_len , version_len ;
3336
-
3337
- zval * return_value = (zval * ) in_context ;
3333
+ zend_string * address , * version ;
3334
+ zval rv , * return_value = (zval * )in_context ;
3338
3335
3339
3336
#if defined(LIBMEMCACHED_VERSION_HEX ) && LIBMEMCACHED_VERSION_HEX >= 0x01000009
3340
- version_len = spprintf ( & version , sizeof ( version ) , "%d.%d.%d" ,
3337
+ version = strpprintf ( 0 , "%d.%d.%d" ,
3341
3338
memcached_server_major_version (instance ),
3342
3339
memcached_server_minor_version (instance ),
3343
3340
memcached_server_micro_version (instance ));
3344
3341
#else
3345
- version_len = spprintf ( & version , sizeof ( version ) - 1 , "%d.%d.%d" ,
3342
+ version = strpprintf ( 0 , "%d.%d.%d" ,
3346
3343
instance -> major_version ,
3347
3344
instance -> minor_version ,
3348
3345
instance -> micro_version );
3349
3346
#endif
3350
3347
3351
- address_len = spprintf (& address , 0 , "%s:%d" , memcached_server_name (instance ), memcached_server_port (instance ) - 1 );
3352
- add_assoc_stringl_ex (return_value , address , address_len , version , version_len );
3348
+ address = strpprintf (0 , "%s:%d" , memcached_server_name (instance ), memcached_server_port (instance ) - 1 );
3349
+
3350
+ ZVAL_STR (& rv , version );
3351
+ zend_hash_add (Z_ARRVAL_P (return_value ), address , & rv );
3352
+
3353
+ zend_string_release (address );
3353
3354
3354
- efree (address );
3355
- efree (version );
3356
3355
return MEMCACHED_SUCCESS ;
3357
3356
}
3358
3357
0 commit comments