summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli.c
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2009-08-27 12:41:14 +0000
committerAndrey Hristov <andrey@php.net>2009-08-27 12:41:14 +0000
commit2e92372322b91116dedc979fab4f0b67a1448b6e (patch)
tree66f1b01c5d7f09f4f304d8b886c2cea37621bb1b /ext/mysqli/mysqli.c
parent1d28a09b24b377e381f763d5d3da9fec782cf65a (diff)
downloadphp-git-2e92372322b91116dedc979fab4f0b67a1448b6e.tar.gz
Fix for bug#46614 Extended MySQLi class gives incorrect empty() result
Diffstat (limited to 'ext/mysqli/mysqli.c')
-rw-r--r--ext/mysqli/mysqli.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index 0c623ae6d9..bae5a8159e 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -330,7 +330,6 @@ zval *mysqli_read_property(zval *object, zval *member, int type TSRMLS_DC)
zval *retval;
mysqli_object *obj;
mysqli_prop_handler *hnd;
- zend_object_handlers *std_hnd;
int ret;
ret = FAILURE;
@@ -356,7 +355,7 @@ zval *mysqli_read_property(zval *object, zval *member, int type TSRMLS_DC)
retval = EG(uninitialized_zval_ptr);
}
} else {
- std_hnd = zend_get_std_object_handlers();
+ zend_object_handlers * std_hnd = zend_get_std_object_handlers();
retval = std_hnd->read_property(object, member, type TSRMLS_CC);
}
@@ -373,7 +372,6 @@ void mysqli_write_property(zval *object, zval *member, zval *value TSRMLS_DC)
zval tmp_member;
mysqli_object *obj;
mysqli_prop_handler *hnd;
- zend_object_handlers *std_hnd;
int ret;
if (member->type != IS_STRING) {
@@ -396,7 +394,7 @@ void mysqli_write_property(zval *object, zval *member, zval *value TSRMLS_DC)
zval_ptr_dtor(&value);
}
} else {
- std_hnd = zend_get_std_object_handlers();
+ zend_object_handlers * std_hnd = zend_get_std_object_handlers();
std_hnd->write_property(object, member, value TSRMLS_CC);
}
@@ -461,6 +459,9 @@ static int mysqli_object_has_property(zval *object, zval *member, int has_set_ex
default:
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid value for has_set_exists");
}
+ } else {
+ zend_object_handlers * std_hnd = zend_get_std_object_handlers();
+ ret = std_hnd->has_property(object, member, has_set_exists TSRMLS_CC);
}
if (member == &tmp_member) {
zval_dtor(member);