Commit dc96ff9c48f for php

commit dc96ff9c48fc98718d107b8db00549d86f413450
Author: Daniel Scherzer <daniel.e.scherzer@gmail.com>
Date:   Fri Nov 13 17:20:45 2026 -0800

    [`%pS` migration] Use `%pS` in ext/com_dotnet (#23148)

diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c
index e0fbb0c1739..85886f20bc0 100644
--- a/ext/com_dotnet/com_com.c
+++ b/ext/com_dotnet/com_com.c
@@ -638,7 +638,7 @@ zend_result php_com_do_invoke(php_com_dotnet_object *obj, zend_string *name,

 	if (FAILED(hr)) {
 		char *winerr = php_win32_error_to_msg(hr);
-		spprintf(&msg, 0, "Unable to lookup `%s': %s", ZSTR_VAL(name), winerr);
+		spprintf(&msg, 0, "Unable to lookup `%pS': %s", name, winerr);
 		php_win32_error_msg_free(winerr);
 		php_com_throw_exception(hr, msg);
 		efree(msg);
diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c
index 4d5ea0b85e5..9e560c98caa 100644
--- a/ext/com_dotnet/com_typeinfo.c
+++ b/ext/com_dotnet/com_typeinfo.c
@@ -211,7 +211,7 @@ PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, in
 				php_com_zval_from_variant(&value, pVarDesc->lpvarValue, codepage);
 				if ((exists = zend_get_constant(const_name)) != NULL) {
 					if (COMG(autoreg_verbose) && !compare_function(&results, &value, exists)) {
-						php_error_docref(NULL, E_WARNING, "Type library constant %s is already defined", ZSTR_VAL(const_name));
+						php_error_docref(NULL, E_WARNING, "Type library constant %pS is already defined", const_name);
 					}
 					zend_string_release_ex(const_name, /* persistent */ false);
 					ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
@@ -539,7 +539,7 @@ bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool p
 			SysFreeString(olename);

 			guid_str = php_com_string_from_clsid(&attr->guid, codepage);
-			php_printf("class %s { /* GUID=%s */\n", ZSTR_VAL(ansi_name), ZSTR_VAL(guid_str));
+			php_printf("class %pS { /* GUID=%pS */\n", ansi_name, guid_str);
 			zend_string_release_ex(guid_str, /* persistent */ false);
 			zend_string_release_ex(ansi_name, /* persistent */ false);
 		}
@@ -593,16 +593,16 @@ bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool p
 						if (olename) {
 							func_desc = php_com_olestring_to_string(olename, codepage);
 							SysFreeString(olename);
-							php_printf("\t/* %s */\n", ZSTR_VAL(func_desc));
+							php_printf("\t/* %pS */\n", func_desc);
 							zend_string_release_ex(func_desc, /* persistent */ false);
 						}

-						php_printf("\tvar $%s;\n\n", ZSTR_VAL(ansi_name));
+						php_printf("\tvar $%pS;\n\n", ansi_name);

 					} else {
 						/* a function */

-						php_printf("\tfunction %s(\n", ZSTR_VAL(ansi_name));
+						php_printf("\tfunction %pS(\n", ansi_name);

 						for (j = 0; j < func->cParams; j++) {
 							ELEMDESC *elem = &func->lprgelemdescParam[j];
@@ -626,9 +626,9 @@ bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool p
 							if (j+1 < (int)cnames) {
 								func_desc = php_com_olestring_to_string(names[j+1], codepage);
 								SysFreeString(names[j+1]);
-								php_printf(" */ %s%s%c\n",
+								php_printf(" */ %s%pS%c\n",
 									elem->tdesc.vt == VT_PTR ? "&$" : "$",
-									ZSTR_VAL(func_desc),
+									func_desc,
 									j == func->cParams - 1 ? ' ' : ','
 								);
 							} else {
@@ -649,7 +649,7 @@ bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool p
 						if (olename) {
 							func_desc = php_com_olestring_to_string(olename, codepage);
 							SysFreeString(olename);
-							php_printf("\t\t/* %s */\n", ZSTR_VAL(func_desc));
+							php_printf("\t\t/* %pS */\n", func_desc);
 							zend_string_release_ex(func_desc, /* persistent */ false);
 						}