]> granicus.if.org Git - php/commitdiff
Corrected ibase_close() fix
authorArd Biesheuvel <abies@php.net>
Mon, 8 Dec 2003 09:46:07 +0000 (09:46 +0000)
committerArd Biesheuvel <abies@php.net>
Mon, 8 Dec 2003 09:46:07 +0000 (09:46 +0000)
ext/interbase/interbase.c

index b056ac77823864b41a6f08a468c3fbecf13cb3e1..c2c4df728f938f0c09751dd5dc2aac050a9434d8 100644 (file)
@@ -934,13 +934,14 @@ PHP_FUNCTION(ibase_pconnect)
    Close an InterBase connection */
 PHP_FUNCTION(ibase_close)
 {
-       zval **link_arg = NULL;
        ibase_db_link *ib_link;
-       int link_id = -1;
+       int link_id;
        
        RESET_ERRMSG;
        
        switch (ZEND_NUM_ARGS()) {
+               zval **link_arg;
+
                case 0:
                        link_id = IBG(default_link);
                        break;
@@ -949,13 +950,14 @@ PHP_FUNCTION(ibase_close)
                                RETURN_FALSE;
                        }
                        convert_to_long_ex(link_arg);
+                       link_id = Z_LVAL_PP(link_arg);
                        break;
                default:
                        WRONG_PARAM_COUNT;
                        break;
        }
 
-       ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, link_id, "InterBase link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink);
        zend_list_delete(link_id);
        RETURN_TRUE;
 }