summaryrefslogtreecommitdiff
path: root/ext/sybase_ct/php_sybase_ct.c
diff options
context:
space:
mode:
authorTimm Friebe <thekid@php.net>2008-11-09 11:39:14 +0000
committerTimm Friebe <thekid@php.net>2008-11-09 11:39:14 +0000
commit39bd93bc62f968d74ce14d9ac17dbe1f439ea78f (patch)
treebd705ef71b73c52820192f597877fe3c9b50b38b /ext/sybase_ct/php_sybase_ct.c
parent4b96eea15fc7cbf7b90c30e93585772d8d4fe4ed (diff)
downloadphp-git-39bd93bc62f968d74ce14d9ac17dbe1f439ea78f.tar.gz
- Fixed sybase_close() to actually close connections
# Broken during parameter parsing refactoring lately, OK in PHP_5_2
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;
}