]> granicus.if.org Git - php/commitdiff
correct fix for bug #37055
authorAntony Dovgal <tony2001@php.net>
Wed, 12 Apr 2006 17:59:32 +0000 (17:59 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 12 Apr 2006 17:59:32 +0000 (17:59 +0000)
ext/oci8/oci8.c

index 868c40c4826c7903f77e4507a2b4f1eceb268213..f9f52de99fda2dfe51ceb1b80cb59af4b5b40ef3 100644 (file)
@@ -541,6 +541,7 @@ PHP_MINIT_FUNCTION(oci)
        REGISTER_LONG_CONSTANT("SQLT_FLT",SQLT_FLT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLT_UIN",SQLT_UIN, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLT_LNG",SQLT_LNG, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("SQLT_LBI",SQLT_LBI, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("SQLT_ODT",SQLT_ODT, CONST_CS | CONST_PERSISTENT);
 #if defined(HAVE_OCI_INSTANT_CLIENT) || (defined(OCI_MAJOR_VERSION) && OCI_MAJOR_VERSION > 10)
        REGISTER_LONG_CONSTANT("SQLT_BDOUBLE",SQLT_BDOUBLE, CONST_CS | CONST_PERSISTENT);
@@ -1056,7 +1057,9 @@ php_oci_connection *php_oci_do_connect_ex(char *username, int username_len, char
                                                        /* okay, the connection is open and the server is still alive */
                                                        connection->used_this_request = 1;
                                                        smart_str_free_ex(&hashed_details, 0);
-                                                       zend_list_addref(connection->rsrc_id);
+                                                       if (zend_list_addref(connection->rsrc_id) == FAILURE) {
+                                                               connection->rsrc_id = zend_list_insert(connection, le_pconnection);
+                                                       }
                                                        return connection;
                                                }
                                        }