summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-06-12 00:57:10 +0400
committerDmitry Stogov <dmitry@zend.com>2014-06-12 00:57:10 +0400
commitedb064e2eea732e44fb2b9dd5b91fd532bf92654 (patch)
tree57a619a5a6ffa7a3688969e7146b53530d12eebd /ext/mysqli/mysqli_api.c
parentbccd4184a59cce6b4d0e3aff7fb20ac1ead0f0be (diff)
downloadphp-git-edb064e2eea732e44fb2b9dd5b91fd532bf92654.tar.gz
Fixed call to mysqli_init() from an object. (We should find some better fix)
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 1b2c7998b2..f5dd2749d1 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -1475,7 +1475,14 @@ void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS)
MYSQLI_RESOURCE *mysqli_resource;
MY_MYSQL *mysql;
- if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) {
+// TODO: We can't properly check if this was to mysql_init() in a class method
+// or a call to mysqli->init().
+// To solve the problem, we added instanceof check for the class of $this
+// ???
+ if (getThis() &&
+ instanceof_function(Z_OBJCE_P(getThis()), mysqli_link_class_entry TSRMLS_CC) &&
+ (Z_MYSQLI_P(getThis()))->ptr) {
+//??? if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) {
return;
}