summaryrefslogtreecommitdiff
path: root/ext/sybase_ct/php_sybase_ct.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sybase_ct/php_sybase_ct.c')
-rw-r--r--ext/sybase_ct/php_sybase_ct.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index b1661bb19e..2c6d64bfcf 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -979,8 +979,11 @@ PHP_FUNCTION(sybase_close)
ZEND_FETCH_RESOURCE2(sybase_ptr, sybase_link *, &sybase_link_index, id, "Sybase-Link", le_link, le_plink);
- zend_list_delete(Z_RESVAL_P(sybase_link_index));
- if (Z_RESVAL_P(sybase_link_index) == SybCtG(default_link)) {
+ if (id == -1) {
+ zend_list_delete(Z_RESVAL_P(sybase_link_index));
+ }
+ if (id != -1 || (sybase_link_index && Z_RESVAL_P(sybase_link_index) == SybCtG(default_link))) {
+ zend_list_delete(SybCtG(default_link));
SybCtG(default_link) = -1;
}