@@ -525,15 +525,14 @@ static
525525void s_uint64_to_zval (zval * target , uint64_t value )
526526{
527527 if (value >= ((uint64_t ) LONG_MAX )) {
528- char * buffer ;
528+ zend_string * buffer ;
529529#ifdef PRIu64
530- spprintf ( & buffer , 0 , "%" PRIu64 , value );
530+ buffer = strpprintf ( 0 , "%" PRIu64 , value );
531531#else
532532 /* Best effort */
533- spprintf ( & buffer , 0 , "%llu" , value );
533+ buffer = strpprintf ( 0 , "%llu" , value );
534534#endif
535- ZVAL_STRING (target , buffer );
536- efree (buffer );
535+ ZVAL_STR (target , buffer );
537536 }
538537 else {
539538 ZVAL_LONG (target , (zend_long ) value );
@@ -3331,28 +3330,28 @@ memcached_return s_server_cursor_list_servers_cb(const memcached_st *ptr, php_me
33313330static
33323331memcached_return s_server_cursor_version_cb (const memcached_st * ptr , php_memcached_instance_st instance , void * in_context )
33333332{
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 ;
33383335
33393336#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" ,
33413338 memcached_server_major_version (instance ),
33423339 memcached_server_minor_version (instance ),
33433340 memcached_server_micro_version (instance ));
33443341#else
3345- version_len = spprintf ( & version , sizeof ( version ) - 1 , "%d.%d.%d" ,
3342+ version = strpprintf ( 0 , "%d.%d.%d" ,
33463343 instance -> major_version ,
33473344 instance -> minor_version ,
33483345 instance -> micro_version );
33493346#endif
33503347
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 );
33533354
3354- efree (address );
3355- efree (version );
33563355 return MEMCACHED_SUCCESS ;
33573356}
33583357
0 commit comments