Commit f26aae199f4 for php.net

commit f26aae199f43af773708fde6bfbd126327183490
Author: Máté Kocsis <kocsismate@woohoolabs.com>
Date:   Sat Jun 13 23:38:05 2026 +0200

    Microoptimize zval_long_or_null_to_lexbor_str

    Based on Nora's suggestion of not using an unnecesary allocation.

diff --git a/ext/uri/uri_parser_whatwg.c b/ext/uri/uri_parser_whatwg.c
index 3ff1e1af166..b00d2201df6 100644
--- a/ext/uri/uri_parser_whatwg.c
+++ b/ext/uri/uri_parser_whatwg.c
@@ -43,9 +43,9 @@ static zend_always_inline void zval_string_or_null_to_lexbor_str(const zval *val
 static zend_always_inline void zval_long_or_null_to_lexbor_str(const zval *value, lexbor_str_t *lexbor_str)
 {
 	if (Z_TYPE_P(value) == IS_LONG) {
-		zend_string *tmp = zend_long_to_str(Z_LVAL_P(value));
-		lexbor_str_init_append(lexbor_str, lexbor_parser.mraw, (const lxb_char_t *) ZSTR_VAL(tmp), ZSTR_LEN(tmp));
-		zend_string_release(tmp);
+		char buf[MAX_LENGTH_OF_LONG + 1];
+		const char *res = zend_print_long_to_buf(buf + sizeof(buf) - 1, Z_LVAL_P(value));
+		lexbor_str_init_append(lexbor_str, lexbor_parser.mraw, (const lxb_char_t *) res, strlen(res));
 	} else {
 		ZEND_ASSERT(Z_ISNULL_P(value));
 		lexbor_str->data = (lxb_char_t *) "";