@@ -3218,7 +3218,9 @@ ZEND_API zend_string* ZEND_FASTCALL zend_long_to_str(zend_long num) /* {{{ */
3218
3218
} else {
3219
3219
char buf [MAX_LENGTH_OF_LONG + 1 ];
3220
3220
char * res = zend_print_long_to_buf (buf + sizeof (buf ) - 1 , num );
3221
- return zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3221
+ zend_string * str = zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3222
+ GC_ADD_FLAGS (str , IS_STR_VALID_UTF8 );
3223
+ return str ;
3222
3224
}
3223
3225
}
3224
3226
/* }}} */
@@ -3230,7 +3232,9 @@ ZEND_API zend_string* ZEND_FASTCALL zend_ulong_to_str(zend_ulong num)
3230
3232
} else {
3231
3233
char buf [MAX_LENGTH_OF_LONG + 1 ];
3232
3234
char * res = zend_print_ulong_to_buf (buf + sizeof (buf ) - 1 , num );
3233
- return zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3235
+ zend_string * str = zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3236
+ GC_ADD_FLAGS (str , IS_STR_VALID_UTF8 );
3237
+ return str ;
3234
3238
}
3235
3239
}
3236
3240
@@ -3272,7 +3276,9 @@ ZEND_API zend_string* ZEND_FASTCALL zend_u64_to_str(uint64_t num)
3272
3276
} else {
3273
3277
char buf [20 + 1 ];
3274
3278
char * res = zend_print_u64_to_buf (buf + sizeof (buf ) - 1 , num );
3275
- return zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3279
+ zend_string * str = zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3280
+ GC_ADD_FLAGS (str , IS_STR_VALID_UTF8 );
3281
+ return str ;
3276
3282
}
3277
3283
}
3278
3284
@@ -3283,7 +3289,9 @@ ZEND_API zend_string* ZEND_FASTCALL zend_i64_to_str(int64_t num)
3283
3289
} else {
3284
3290
char buf [20 + 1 ];
3285
3291
char * res = zend_print_i64_to_buf (buf + sizeof (buf ) - 1 , num );
3286
- return zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3292
+ zend_string * str = zend_string_init (res , buf + sizeof (buf ) - 1 - res , 0 );
3293
+ GC_ADD_FLAGS (str , IS_STR_VALID_UTF8 );
3294
+ return str ;
3287
3295
}
3288
3296
}
3289
3297
@@ -3293,7 +3301,9 @@ ZEND_API zend_string* ZEND_FASTCALL zend_double_to_str(double num)
3293
3301
/* Model snprintf precision behavior. */
3294
3302
int precision = (int ) EG (precision );
3295
3303
zend_gcvt (num , precision ? precision : 1 , '.' , 'E' , buf );
3296
- return zend_string_init (buf , strlen (buf ), 0 );
3304
+ zend_string * str = zend_string_init (buf , strlen (buf ), 0 );
3305
+ GC_ADD_FLAGS (str , IS_STR_VALID_UTF8 );
3306
+ return str ;
3297
3307
}
3298
3308
3299
3309
ZEND_API zend_uchar ZEND_FASTCALL is_numeric_str_function (const zend_string * str , zend_long * lval , double * dval ) /* {{{ */
0 commit comments