[php-src] master: Merge branch 'PHP-8.6'
| From: | Daniel Scherzer | Date: | Mon, 05 Oct 2026 18:18:12 +0000 |
| Subject: | [php-src] master: Merge branch 'PHP-8.6' | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-141980@lists.php.net to get a copy of this message | ||
Author: Daniel Scherzer (DanielEScherzer)
Date: 2026-10-05T11:17:50-07:00
Commit: https://github.com/php/php-src/commit/6620f315b47870d2ecb049230d24e82e7acd09eb
Raw diff: https://github.com/php/php-src/commit/6620f315b47870d2ecb049230d24e82e7acd09eb.diff
Merge branch 'PHP-8.6'
* PHP-8.6:
[
%pS migration] Use %pS in ext/mysqli (#23159)
Changed paths:
M ext/mysqli/mysqli.c
M ext/mysqli/mysqli_nonapi.c
M ext/mysqli/mysqli_prop.c
M ext/mysqli/mysqli_warning.c
M ext/mysqli/php_mysqli_structs.h
Diff:
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index 34479b849907..063abd72e3dd 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -254,8 +254,8 @@ zval *mysqli_write_property(zend_object *object, zend_string *name, zval *value,
const mysqli_prop_handler *hnd = zend_hash_find_ptr(obj->prop_handler, name);
if (hnd) {
if (!hnd->write_func) {
- zend_throw_error(NULL, "Cannot write read-only property %s::$%s",
- ZSTR_VAL(object->ce->name), ZSTR_VAL(name));
+ zend_throw_error(NULL, "Cannot write read-only property %pS::$%pS",
+ object->ce->name, name);
return &EG(error_zval);
}
diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c
index 2f4b6006821c..f25f83a0b6b8 100644
--- a/ext/mysqli/mysqli_nonapi.c
+++ b/ext/mysqli/mysqli_nonapi.c
@@ -538,13 +538,13 @@ PHP_FUNCTION(mysqli_fetch_object)
ce = zend_standard_class_def;
}
if (UNEXPECTED(ce->ce_flags &
(ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS)))
{
- zend_throw_error(NULL, "Class %s cannot be instantiated", ZSTR_VAL(ce->name));
+ zend_throw_error(NULL, "Class %pS cannot be instantiated", ce->name);
RETURN_THROWS();
}
if (!ce->constructor && ctor_params && zend_hash_num_elements(ctor_params) >
0) {
zend_argument_value_error(ERROR_ARG_POS(3),
- "must be empty when the specified class (%s) does not have a constructor",
- ZSTR_VAL(ce->name)
+ "must be empty when the specified class (%pS) does not have a constructor",
+ ce->name
);
RETURN_THROWS();
}
@@ -703,12 +703,12 @@ static zend_result mysqlnd_zval_array_to_mysqlnd_array(zval *in_array, MYSQLND
*
MYSQLI_RESOURCE *my_res;
mysqli_object *intern = Z_MYSQLI_P(elem);
if (!(my_res = (MYSQLI_RESOURCE *)intern->ptr)) {
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(intern->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is already closed", intern->zo.ce->name);
return FAILURE;
}
mysql = (MY_MYSQL*) my_res->ptr;
if (my_res->status < MYSQLI_STATUS_VALID) {
- zend_throw_error(NULL, "%s object is not fully initialized",
ZSTR_VAL(intern->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is not fully initialized",
intern->zo.ce->name);
return FAILURE;
}
(*out_array)[current++] = mysql->mysql;
@@ -737,7 +737,7 @@ static zend_result mysqlnd_zval_array_from_mysqlnd_array(MYSQLND **in_array, zva
MYSQLI_RESOURCE *my_res;
mysqli_object *intern = Z_MYSQLI_P(elem);
if (!(my_res = (MYSQLI_RESOURCE *)intern->ptr)) {
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(intern->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is already closed", intern->zo.ce->name);
return FAILURE;
}
mysql = (MY_MYSQL *) my_res->ptr;
diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c
index 39446c62ddaf..2d21886e06d9 100644
--- a/ext/mysqli/mysqli_prop.c
+++ b/ext/mysqli/mysqli_prop.c
@@ -35,7 +35,7 @@
MYSQL *p; \
if (!obj->ptr || !(MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr) { \
if (!quiet) { \
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name); \
} \
return FAILURE; \
} else { \
@@ -43,7 +43,7 @@ if (!obj->ptr || !(MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr) { \
p = (MYSQL *)((MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr)->mysql;\
if (!p) { \
if (!quiet) { \
- zend_throw_error(NULL, "%s object is not fully initialized",
ZSTR_VAL(obj->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is not fully initialized", obj->zo.ce->name);
\
} \
return FAILURE; \
} \
@@ -53,7 +53,7 @@ if (!obj->ptr || !(MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr) { \
MYSQL_RES *p; \
if (!obj->ptr) { \
if (!quiet) { \
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name); \
} \
return FAILURE; \
} else { \
@@ -65,7 +65,7 @@ if (!obj->ptr) { \
MYSQL_STMT *p; \
if (!obj->ptr) { \
if (!quiet) { \
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name); \
} \
return FAILURE; \
} else { \
diff --git a/ext/mysqli/mysqli_warning.c b/ext/mysqli/mysqli_warning.c
index a276ccf0b1ff..96fcb0bbad85 100644
--- a/ext/mysqli/mysqli_warning.c
+++ b/ext/mysqli/mysqli_warning.c
@@ -140,7 +140,7 @@ static zend_result mysqli_warning_message(mysqli_object *obj, zval *retval, bool
if (!obj->ptr || !((MYSQLI_RESOURCE *)(obj->ptr))->ptr) {
if (!quiet) {
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name);
}
return FAILURE;
@@ -160,7 +160,7 @@ static zend_result mysqli_warning_sqlstate(mysqli_object *obj, zval *retval, boo
if (!obj->ptr || !((MYSQLI_RESOURCE *)(obj->ptr))->ptr) {
if (!quiet) {
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name);
}
return FAILURE;
@@ -180,7 +180,7 @@ static zend_result mysqli_warning_errno(mysqli_object *obj, zval *retval, bool q
if (!obj->ptr || !((MYSQLI_RESOURCE *)(obj->ptr))->ptr) {
if (!quiet) {
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(obj->zo.ce->name));
+ zend_throw_error(NULL, "%pS object is already closed", obj->zo.ce->name);
}
return FAILURE;
diff --git a/ext/mysqli/php_mysqli_structs.h b/ext/mysqli/php_mysqli_structs.h
index 8ccead1a7518..c6151065add0 100644
--- a/ext/mysqli/php_mysqli_structs.h
+++ b/ext/mysqli/php_mysqli_structs.h
@@ -160,12 +160,12 @@ extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES *
resul
MYSQLI_RESOURCE *my_res; \
mysqli_object *intern = Z_MYSQLI_P(__id); \
if (!(my_res = (MYSQLI_RESOURCE *)intern->ptr)) {\
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(intern->zo.ce->name));\
+ zend_throw_error(NULL, "%pS object is already closed", intern->zo.ce->name);\
RETURN_THROWS();\
}\
__ptr = (__type)my_res->ptr; \
if (my_res->status < __check) { \
- zend_throw_error(NULL, "%s object is not fully initialized",
ZSTR_VAL(intern->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is not fully initialized",
intern->zo.ce->name); \
RETURN_THROWS();\
}\
}
@@ -174,12 +174,12 @@ extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES *
resul
{ \
MYSQLI_RESOURCE *my_res; \
if (!(my_res = (MYSQLI_RESOURCE *)(__obj->ptr))) {\
- zend_throw_error(NULL, "%s object is already closed",
ZSTR_VAL(intern->zo.ce->name));\
+ zend_throw_error(NULL, "%pS object is already closed", intern->zo.ce->name);\
return;\
}\
__ptr = (__type)my_res->ptr; \
if (my_res->status < __check) { \
- zend_throw_error(NULL, "%s object is not fully initialized",
ZSTR_VAL(intern->zo.ce->name)); \
+ zend_throw_error(NULL, "%pS object is not fully initialized",
intern->zo.ce->name); \
return;\
}\
}
@@ -188,7 +188,7 @@ extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * resul
{ \
MYSQLI_FETCH_RESOURCE((__ptr), MY_MYSQL *, (__id), (__check)); \
if (!(__ptr)->mysql) { \
- zend_throw_error(NULL, "%s object is not fully initialized",
ZSTR_VAL(Z_OBJCE_P(__id)->name)); \
+ zend_throw_error(NULL, "%pS object is not fully initialized",
Z_OBJCE_P(__id)->name); \
RETURN_THROWS(); \
} \
}