]> granicus.if.org Git - php/commitdiff
MFH
authorAntony Dovgal <tony2001@php.net>
Wed, 17 Oct 2007 08:19:50 +0000 (08:19 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 17 Oct 2007 08:19:50 +0000 (08:19 +0000)
ext/mysqli/mysqli.c
ext/mysqli/mysqli_api.c

index 011896050a7e79fe2fcba80e27bd60262f075775..5e0a5ebc10ca16c27e0aca4f201c6b9ca613879f 100644 (file)
@@ -125,7 +125,7 @@ void php_clear_stmt_bind(MY_STMT *stmt)
 /* {{{ php_clear_mysql */
 void php_clear_mysql(MY_MYSQL *mysql) {
        if (mysql->li_read) {
-               zval_dtor(mysql->li_read);
+               zval_ptr_dtor(&(mysql->li_read));
                mysql->li_read = NULL;
        }
 }
index 378514834dba5a1b6ca14efe554f45b2ec97c8da..32b57ecf43d06ae713a8e87c6c58e417b2c402d7 100644 (file)
@@ -1170,7 +1170,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;
        }
 }
@@ -1198,11 +1198,14 @@ PHP_FUNCTION(mysqli_set_local_infile_handler)
                efree(callback_name);
                RETURN_FALSE;           
        }
-       efree(callback_name);
 
        /* save callback function */
-       ALLOC_ZVAL(mysql->li_read);     
-       ZVAL_STRING(mysql->li_read, callback_func->value.str.val, 1);
+       if (!mysql->li_read) {
+               MAKE_STD_ZVAL(mysql->li_read);
+       } else {
+               zval_dtor(mysql->li_read);
+       }
+       ZVAL_STRING(mysql->li_read, callback_name, 0);
 
        RETURN_TRUE;
 }