summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-02-18 10:01:17 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-02-18 10:01:17 +0100
commit540f052242221a6add14ed531965bf913ea93f96 (patch)
treed93b361bd4fd846426d5ac624b73aeebbe638048
parentb5d8fc0153664d70bbdf67537872026e9e68ab86 (diff)
downloadphp-git-540f052242221a6add14ed531965bf913ea93f96.tar.gz
Fix zpp in mysqli_warning::next()
This only exists as a method, so using zend_parse_method_parameters doesn't make sense. Also make sure that zpp is always called, not only conditionally.
-rw-r--r--ext/mysqli/mysqli_warning.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/ext/mysqli/mysqli_warning.c b/ext/mysqli/mysqli_warning.c
index 380d2e3fd9..a76c1b1a3f 100644
--- a/ext/mysqli/mysqli_warning.c
+++ b/ext/mysqli/mysqli_warning.c
@@ -175,16 +175,14 @@ MYSQLI_WARNING * php_get_warnings(MYSQLND_CONN_DATA * mysql)
PHP_METHOD(mysqli_warning, next)
{
MYSQLI_WARNING *w;
- zval *mysqli_warning;
- mysqli_object *obj = Z_MYSQLI_P(getThis());
+ mysqli_object *obj = Z_MYSQLI_P(ZEND_THIS);
- if (obj->ptr) {
- if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O",
- &mysqli_warning, mysqli_warning_class_entry) == FAILURE) {
- RETURN_THROWS();
- }
+ if (zend_parse_parameters_none() == FAILURE) {
+ RETURN_THROWS();
+ }
- MYSQLI_FETCH_RESOURCE(w, MYSQLI_WARNING *, mysqli_warning, "mysqli_warning", MYSQLI_STATUS_VALID);
+ if (obj->ptr) {
+ MYSQLI_FETCH_RESOURCE(w, MYSQLI_WARNING *, ZEND_THIS, "mysqli_warning", MYSQLI_STATUS_VALID);
if (w && w->next) {
w = w->next;