summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-07-17 09:52:51 +0000
committerDmitry Stogov <dmitry@php.net>2008-07-17 09:52:51 +0000
commit0cfa6a59778a53afb2138a86db8cd5fa0bc00900 (patch)
tree9c6757377202c7802453d1fa59180f235f81cd5a /ext/mysqli/mysqli_api.c
parentc92e6b4a6b56239b14f7ca7bcdab0966dd63f3b5 (diff)
downloadphp-git-0cfa6a59778a53afb2138a86db8cd5fa0bc00900.tar.gz
support for closures
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 8c8c3c32b5..1850facd4d 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -1457,7 +1457,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
{
MY_MYSQL *mysql;
zval *mysql_link;
- zval callback_name, *p_callback_name;
+ zval callback_name;
zval *callback_func;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oz", &mysql_link, mysqli_link_class_entry,
@@ -1467,7 +1467,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);
- if (UG(unicode)) {
+ if (UG(unicode) && Z_TYPE_P(callback_func) != IS_ARRAY && Z_TYPE_P(callback_func) != IS_OBJECT) {
convert_to_string(callback_func);
}
@@ -1477,6 +1477,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
zval_dtor(&callback_name);
RETURN_FALSE;
}
+ zval_dtor(&callback_name);
/* save callback function */
if (!mysql->li_read) {
@@ -1484,8 +1485,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
} else {
zval_dtor(mysql->li_read);
}
- p_callback_name = &callback_name;
- ZVAL_ZVAL(mysql->li_read, p_callback_name, 0, 0);
+ ZVAL_ZVAL(mysql->li_read, callback_func, 1, 0);
RETURN_TRUE;
}