summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-07-12 10:36:19 +0000
committerThies C. Arntzen <thies@php.net>1999-07-12 10:36:19 +0000
commit5a288ffdc8cf4101689d47938dcc397867d86386 (patch)
tree90d763f0e8d1c85f0436a21c30b94e9c56c8e060 /ext
parenta80609c7739bd44b256e354389bfd1b0aa438d5d (diff)
downloadphp-git-5a288ffdc8cf4101689d47938dcc397867d86386.tar.gz
small php4 fixes
Diffstat (limited to 'ext')
-rw-r--r--ext/oci8/oci8.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index e8685e908f..ce7e10adcc 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -71,9 +71,11 @@
#include "internal_functions.h"
#include "php3_list.h"
#include "head.h"
+ #define HASH_DTOR (void (*)(void *))
#else
#include "ext/standard/head.h"
#define php3tls_pval_destructor(a) zval_dtor(a)
+ #define HASH_DTOR (int (*)(void *))
#endif
@@ -174,7 +176,7 @@ static void oci8_debug(const char *format,...);
static void _oci8_close_conn(oci8_connection *connection);
static void _oci8_free_stmt(oci8_statement *statement);
static void _oci8_free_column(oci8_out_column *column);
-static void _oci8_free_descr(oci8_descriptor *descr);
+static int _oci8_free_descr(oci8_descriptor *descr);
static oci8_connection *oci8_get_conn(int, const char *, HashTable *);
static oci8_statement *oci8_get_stmt(int, const char *, HashTable *);
@@ -592,7 +594,7 @@ oci8_free_define(oci8_define *define)
efree(define->name);
define->name = 0;
}
- return 0;
+ return 1;
}
/* }}} */
@@ -888,7 +890,9 @@ oci8_make_pval(pval *value,oci8_statement *statement,oci8_out_column *column, ch
oci8_debug("oci8_make_pval: %16s,retlen = %4d,cb_retlen = %d,storage_size4 = %4d,indicator %4d, retcode = %4d",
column->name,column->retlen,column->cb_retlen,column->storage_size4,column->indicator,column->retcode);
+/*
memset(value,0,sizeof(pval));
+*/
if (column->indicator == -1) { /* column is NULL */
var_reset(value); /* XXX we NEED to make sure that there's no data attached to this yet!!! */
@@ -1112,7 +1116,7 @@ oci8_execute(oci8_statement *statement, char *func,ub4 mode, HashTable *list)
statement->columns = emalloc(sizeof(HashTable));
if (!statement->columns ||
- _php3_hash_init(statement->columns, 13, NULL,(void (*)(void *))_oci8_free_column, 0) == FAILURE) {
+ _php3_hash_init(statement->columns, 13, NULL,HASH_DTOR _oci8_free_column, 0) == FAILURE) {
/* out of memory */
return 0;
}
@@ -1423,7 +1427,7 @@ oci8_fetch(oci8_statement *statement, ub4 nrows, char *func)
if (! column->define) {
continue;
}
-
+
php3tls_pval_destructor(column->define->pval);
oci8_make_pval(column->define->pval,statement,column,"OCIFetch",0);
@@ -1994,7 +1998,7 @@ _oci8_close_user(oci8_session *session)
/* {{{ _oci8_free_descr()
*/
-static void
+static int
_oci8_free_descr(oci8_descriptor *descr)
{
OCI8_TLS_VARS;
@@ -2002,6 +2006,8 @@ _oci8_free_descr(oci8_descriptor *descr)
oci8_debug("oci8_free_descr: %x",descr->ocidescr);
OCIDescriptorFree(descr->ocidescr, descr->type);
+
+ return 1;
}
/* }}} */
/* {{{ oci8_open_server()
@@ -2285,7 +2291,7 @@ static void oci8_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent,int excl
connection->descriptors = emalloc(sizeof(HashTable));
if (!connection->descriptors ||
- _php3_hash_init(connection->descriptors, 13, NULL,(void (*)(void *))_oci8_free_descr, 0) == FAILURE) {
+ _php3_hash_init(connection->descriptors, 13, NULL,HASH_DTOR _oci8_free_descr, 0) == FAILURE) {
goto CLEANUP;
}
@@ -2348,7 +2354,7 @@ PHP_FUNCTION(oci8_definebyname)
if (statement->defines == NULL) {
statement->defines = emalloc(sizeof(HashTable));
if (statement->defines == NULL ||
- _php3_hash_init(statement->defines, 13, NULL, (void (*)(void *))oci8_free_define, 0) == FAILURE) {
+ _php3_hash_init(statement->defines, 13, NULL,HASH_DTOR oci8_free_define, 0) == FAILURE) {
/* out of memory */
RETURN_FALSE;
}
@@ -3166,11 +3172,11 @@ PHP_FUNCTION(oci8_fetchinto)
#if PHP_API_VERSION >= 19990421
element = emalloc(sizeof(pval));
- INIT_PZVAL(element);
#endif
if ((mode & OCI_NUM) || (! (mode & OCI_ASSOC))) { /* OCI_NUM is default */
oci8_make_pval(element,statement,column, "OCIFetchInto",mode);
+
#if PHP_API_VERSION >= 19990421
INIT_PZVAL(element);
_php3_hash_index_update(array->value.ht, i, (void *)&element, sizeof(pval*), NULL);
@@ -3183,6 +3189,7 @@ PHP_FUNCTION(oci8_fetchinto)
oci8_make_pval(element,statement,column, "OCIFetchInto",mode);
#if PHP_API_VERSION >= 19990421
+ INIT_PZVAL(element);
_php3_hash_update(array->value.ht, column->name, column->name_len+1, (void *)&element, sizeof(pval*), NULL);
#else
_php3_hash_update(array->value.ht, column->name, column->name_len+1, (void *)element, sizeof(pval), NULL);