Commit db5845e3217 for php.net

commit db5845e3217ff6a7b5a1fcee49fcb2c35c2925a7
Author: Gina Peter Banyard <girgias@php.net>
Date:   Thu Jul 2 22:42:00 2026 +0100

    ext/soap: refactor parse_packet_soap()

    Use zend_string* rather than a pair and remove unused param

diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c
index 006f9cca9c5..2a2f94cb349 100644
--- a/ext/soap/php_packet_soap.c
+++ b/ext/soap/php_packet_soap.c
@@ -39,7 +39,7 @@ static void master_to_zval_with_doc_cleanup(zval *ret, encodePtr encode, xmlNode
 }

 /* SOAP client calls this function to parse response from SOAP server */
-bool parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunctionPtr fn, char *fn_name, zval *return_value, zval *soap_headers)
+bool parse_packet_soap(zval *this_ptr, zend_string *buffer, sdlFunctionPtr fn, zval *return_value, zval *soap_headers)
 {
 	char* envelope_ns = NULL;
 	xmlDocPtr response;
@@ -52,12 +52,12 @@ bool parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunctio
 	ZVAL_NULL(return_value);

 	/* Response for one-way operation */
-	if (buffer_size == 0) {
+	if (ZSTR_LEN(buffer) == 0) {
 		return true;
 	}

 	/* Parse XML packet */
-	response = soap_xmlParseMemory(buffer, buffer_size);
+	response = soap_xmlParseMemory(ZSTR_VAL(buffer), ZSTR_LEN(buffer));

 	if (!response) {
 		add_soap_fault(this_ptr, "Client", "looks like we got no XML document", NULL, NULL, soap_lang_en);
diff --git a/ext/soap/php_packet_soap.h b/ext/soap/php_packet_soap.h
index 569b2394965..dc4b4417686 100644
--- a/ext/soap/php_packet_soap.h
+++ b/ext/soap/php_packet_soap.h
@@ -17,6 +17,6 @@
 #ifndef PHP_PACKET_SOAP_H
 #define PHP_PACKET_SOAP_H

-bool parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunctionPtr fn, char *fn_name, zval *return_value, zval *soap_headers);
+bool parse_packet_soap(zval *this_ptr, zend_string *buffer, sdlFunctionPtr fn, zval *return_value, zval *soap_headers);

 #endif
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 8d9ad77d26e..d8f72e0191a 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -2447,7 +2447,7 @@ static void do_soap_call(zend_execute_data *execute_data,

 					encode_reset_ns();
 					zend_try {
-						ret = parse_packet_soap(this_ptr, Z_STRVAL(response), Z_STRLEN(response), fn, NULL, return_value, output_headers);
+						ret = parse_packet_soap(this_ptr, Z_STR(response), fn, return_value, output_headers);
 					} zend_catch {
 						parse_bailout = true;
 					} zend_end_try();
@@ -2501,7 +2501,7 @@ static void do_soap_call(zend_execute_data *execute_data,

 					encode_reset_ns();
 					zend_try {
-						ret = parse_packet_soap(this_ptr, Z_STRVAL(response), Z_STRLEN(response), NULL, NULL, return_value, output_headers);
+						ret = parse_packet_soap(this_ptr, Z_STR(response), NULL, return_value, output_headers);
 					} zend_catch {
 						parse_bailout = true;
 					} zend_end_try();