summaryrefslogtreecommitdiff
path: root/ext/oci8/oci8.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/oci8/oci8.c')
-rw-r--r--ext/oci8/oci8.c45
1 files changed, 14 insertions, 31 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index d752400fec..a29124b00b 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -301,8 +301,7 @@ CONST void ocifree(dvoid *ctx, dvoid *ptr)
/* {{{ startup, shutdown and info functions */
-#ifdef ZTS
-static void php_oci_init_globals(php_oci_globals *oci_globals)
+static void php_oci_init_globals(OCILS_D)
{
OCI(user_num) = 1000;
OCI(server_num) = 2000;
@@ -321,32 +320,28 @@ static void php_oci_init_globals(php_oci_globals *oci_globals)
NULL);
}
-#endif
PHP_MINIT_FUNCTION(oci)
{
zend_class_entry oci_lob_class_entry;
ELS_FETCH();
-#ifdef ZTS
- oci_globals_id = ts_allocate_id(sizeof(php_oci_globals), (ts_allocate_ctor) php_oci_init_globals, NULL);
+#ifdef ZTS
+ #define PHP_OCI_INIT_MODE OCI_THREADED
#else
- OCI(user_num) = 1000;
- OCI(server_num) = 2000;
-
- OCI(user) = malloc(sizeof(HashTable));
- zend_hash_init(OCI(user), 13, NULL, NULL, 1);
+ #define PHP_OCI_INIT_MODE OCI_DEFAULT
+#endif
- OCI(server) = malloc(sizeof(HashTable));
- zend_hash_init(OCI(server), 13, NULL, NULL, 1);
+#if OCI_USE_EMALLOC
+ OCIInitialize(PHP_OCI_INIT_MODE, NULL, ocimalloc, ocirealloc, ocifree);
+#else
+ OCIInitialize(PHP_OCI_INIT_MODE, NULL, NULL, NULL, NULL);
+#endif
- OCIEnvInit(&OCI(pEnv), OCI_DEFAULT, 0, NULL);
- OCIHandleAlloc(OCI(pEnv),
- (dvoid **)&OCI(pError),
- OCI_HTYPE_ERROR,
- 0,
- NULL);
-
+#ifdef ZTS
+ oci_globals_id = ts_allocate_id(sizeof(php_oci_globals), (ts_allocate_ctor) php_oci_init_globals, NULL);
+#else
+ php_oci_init_globals(OCILS_C);
#endif
le_stmt = register_list_destructors(_oci_statement_dtor, NULL);
@@ -393,18 +388,6 @@ PHP_MINIT_FUNCTION(oci)
REGISTER_LONG_CONSTANT("OCI_D_LOB",OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OCI_D_ROWID",OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT);
-#ifdef ZTS
- #define PHP_OCI_INIT_MODE OCI_THREADED
-#else
- #define PHP_OCI_INIT_MODE OCI_DEFAULT
-#endif
-
-#if OCI_USE_EMALLOC
- OCIInitialize(PHP_OCI_INIT_MODE, NULL, ocimalloc, ocirealloc, ocifree);
-#else
- OCIInitialize(PHP_OCI_INIT_MODE, NULL, NULL, NULL, NULL);
-#endif
-
return SUCCESS;
}