]> granicus.if.org Git - php/commitdiff
use correct dtor and variable for the callback
authorAntony Dovgal <tony2001@php.net>
Wed, 17 Oct 2007 08:17:34 +0000 (08:17 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 17 Oct 2007 08:17:34 +0000 (08:17 +0000)
ext/mysqli/mysqli.c
ext/mysqli/mysqli_api.c

index 8ac24ec89cd97a198ceda21e39ce47432956c6ab..b8c1f8e9695bae02bb7ab21819b5027662e7a910 100644 (file)
@@ -205,7 +205,7 @@ void php_clear_mysql(MY_MYSQL *mysql) {
                mysql->hash_key = NULL;
        }
        if (mysql->li_read) {
-               zval_dtor(mysql->li_read);
+               zval_ptr_dtor(&(mysql->li_read));
                mysql->li_read = NULL;
        }
 }
index 9bffcc5f7dba8947702c105804dfa617049de98c..ff17a55859d1e62884334bbff760899c7cedefdc 100644 (file)
@@ -1403,7 +1403,7 @@ PHP_FUNCTION(mysqli_set_local_infile_default)
        MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);
 
        if (mysql->li_read) {
-               zval_dtor(mysql->li_read);
+               zval_ptr_dtor(&(mysql->li_read));
                mysql->li_read = NULL;
        }
 }
@@ -1415,7 +1415,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
 {
        MY_MYSQL        *mysql;
        zval            *mysql_link;
-       zval            callback_name;
+       zval            callback_name, *p_callback_name;
        zval            *callback_func;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oz", &mysql_link, mysqli_link_class_entry,
@@ -1435,7 +1435,6 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
                zval_dtor(&callback_name);
                RETURN_FALSE;
        }
-       zval_dtor(&callback_name);
 
        /* save callback function */
        if (!mysql->li_read) {
@@ -1443,7 +1442,7 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
        } else {
                zval_dtor(mysql->li_read);
        }
-       ZVAL_STRINGL(mysql->li_read, Z_STRVAL_P(callback_func), Z_STRLEN_P(callback_func), 1);
+       ZVAL_ZVAL(mysql->li_read, callback_name, 0, 0);
 
        RETURN_TRUE;
 }