summaryrefslogtreecommitdiff
path: root/ext/msql/php_msql.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-11-03 02:46:49 +0000
committerZeev Suraski <zeev@php.net>2000-11-03 02:46:49 +0000
commit6d0749a95ba4a18a4c9dcb85c2f1a86f2218f0f0 (patch)
treede589bcfd8ab67e9e5f1fd7ebf57fa3cb17fa8ac /ext/msql/php_msql.c
parent313a459af3a029e95b5988ba9de998de3dff3859 (diff)
downloadphp-git-6d0749a95ba4a18a4c9dcb85c2f1a86f2218f0f0.tar.gz
Fix msql_close(), pg_close() and sybase_close() (Sybase CT)
Diffstat (limited to 'ext/msql/php_msql.c')
-rw-r--r--ext/msql/php_msql.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/msql/php_msql.c b/ext/msql/php_msql.c
index 8b09ab6fc8..90c8ff37ed 100644
--- a/ext/msql/php_msql.c
+++ b/ext/msql/php_msql.c
@@ -404,12 +404,16 @@ DLEXPORT PHP_FUNCTION(msql_close)
ZEND_FETCH_RESOURCE2(msql, int, &msql_link, id, "mSQL-Link", msql_globals.le_link, msql_globals.le_plink);
- zend_list_delete(Z_RESVAL_P(msql_link));
- if (Z_RESVAL_P(mysql_link)==msql_globals.default_link) {
+ if (id==-1) { /* explicit resource number */
+ zend_list_delete(Z_RESVAL_P(msql_link));
+ }
+
+ if (id!=-1
+ || (msql_link && Z_RESVAL_P(msql_link)==msql_globals.default_link)) {
zend_list_delete(msql_globals.default_link);
+ msql_globals.default_link = -1;
}
- zend_list_delete(id);
RETURN_TRUE;
}
/* }}} */