]> granicus.if.org Git - php/commitdiff
- Fixed sybase_close() to actually close connections
authorTimm Friebe <thekid@php.net>
Sun, 9 Nov 2008 11:39:14 +0000 (11:39 +0000)
committerTimm Friebe <thekid@php.net>
Sun, 9 Nov 2008 11:39:14 +0000 (11:39 +0000)
# Broken during parameter parsing refactoring lately, OK in PHP_5_2

ext/sybase_ct/php_sybase_ct.c

index b1661bb19e054158d14b0f9bc321adb1ce15b8cd..2c6d64bfcf654149f4687265b590236fa5ab75aa 100644 (file)
@@ -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;
        }