]> granicus.if.org Git - php/commitdiff
Fixed mysql_close() - A bit more complicated than I originally thought
authorZeev Suraski <zeev@php.net>
Fri, 3 Nov 2000 01:56:47 +0000 (01:56 +0000)
committerZeev Suraski <zeev@php.net>
Fri, 3 Nov 2000 01:56:47 +0000 (01:56 +0000)
ext/mysql/php_mysql.c

index af8cafb3017f2963a3bb22b01a7f8b3cd8d63c6d..75d023689c32b8e48c5ca43d44f2ddde406387c0 100644 (file)
@@ -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;
 }
 /* }}} */