From b20f8b39b9f9326d01fa802df80a5f7a881739b2 Mon Sep 17 00:00:00 2001 From: Zeev Suraski Date: Fri, 3 Nov 2000 01:56:47 +0000 Subject: Fixed mysql_close() - A bit more complicated than I originally thought --- ext/mysql/php_mysql.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'ext/mysql/php_mysql.c') diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index af8cafb301..75d023689c 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -603,10 +603,17 @@ PHP_FUNCTION(mysql_close) } ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, le_plink); - zend_list_delete(Z_RESVAL_PP(mysql_link)); - if (Z_RESVAL_PP(mysql_link)==MySG(default_link)) { + + if (id==-1) { /* explicit resource number */ + zend_list_delete(Z_RESVAL_PP(mysql_link)); + } + + if (id!=-1 + || (mysql_link && Z_RESVAL_PP(mysql_link)==MySG(default_link))) { zend_list_delete(MySG(default_link)); + MySG(default_link) = -1; } + RETURN_TRUE; } /* }}} */ -- cgit v1.2.1