summaryrefslogtreecommitdiff
path: root/ext/oracle/oracle.c
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-07-12 13:26:56 +0000
committerThies C. Arntzen <thies@php.net>1999-07-12 13:26:56 +0000
commit9b85ba490ea4df9e3d8bdabc44369c2851c77b79 (patch)
tree7ba31bfb08270af93b04fcf21d62f1c20bbb13ce /ext/oracle/oracle.c
parentd4fb7d9e376fb0e8fdecbe72378d6635fc56468c (diff)
downloadphp-git-9b85ba490ea4df9e3d8bdabc44369c2851c77b79.tar.gz
par with 3.0
Diffstat (limited to 'ext/oracle/oracle.c')
-rw-r--r--ext/oracle/oracle.c69
1 files changed, 28 insertions, 41 deletions
diff --git a/ext/oracle/oracle.c b/ext/oracle/oracle.c
index ace254cb57..39fbeaa8c0 100644
--- a/ext/oracle/oracle.c
+++ b/ext/oracle/oracle.c
@@ -58,7 +58,18 @@
#if HAVE_ORACLE
-#include "php3_oracle.h"
+#if PHP_API_VERSION < 19990421
+ #include "oracle.h"
+ #define HASH_DTOR (void (*)(void *))
+#else
+ #include "php3_oracle.h"
+ #define HASH_DTOR (int (*)(void *))
+#endif
+
+#ifndef ZEND_MODULE_INFO_FUNC_ARGS
+#define ZEND_MODULE_INFO_FUNC_ARGS void
+#endif
+
#ifdef WIN32
# include "variables.h"
#else
@@ -225,14 +236,10 @@ static int _close_orapconn(oraConnection *conn)
static int
pval_ora_param_destructor(oraParam *param)
{
- if (! param) {
- return 0;
- }
-
if (param->progv) {
efree(param->progv);
}
- return 0;
+ return 1;
}
@@ -517,8 +524,7 @@ void php3_Ora_Do_Logon(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (persistent){
/*new_le.type = ORACLE_GLOBAL(php3_oracle_module).le_pconn;
new_le.ptr = db_conn;*/
- return_value->value.lval =
- php3_plist_insert(db_conn, ORACLE_GLOBAL(php3_oracle_module).le_pconn);
+ RETVAL_RESOURCE(php3_plist_insert(db_conn, ORACLE_GLOBAL(php3_oracle_module).le_pconn));
new_index_ptr.ptr = (void *) return_value->value.lval;
#ifdef THREAD_SAFE
new_index_ptr.type = _php3_le_index_ptr();
@@ -536,8 +542,7 @@ void php3_Ora_Do_Logon(INTERNAL_FUNCTION_PARAMETERS, int persistent)
ORACLE_GLOBAL(php3_oracle_module).num_persistent++;
} else {
/* non persistent, simply add to list */
- return_value->value.lval =
- php3_list_insert(db_conn, ORACLE_GLOBAL(php3_oracle_module).le_conn);
+ RETVAL_RESOURCE(php3_list_insert(db_conn, ORACLE_GLOBAL(php3_oracle_module).le_conn));
}
ORACLE_GLOBAL(php3_oracle_module).num_links++;
@@ -579,7 +584,7 @@ void php3_Ora_Do_Logon(INTERNAL_FUNCTION_PARAMETERS, int persistent)
RETURN_FALSE;
}
}
- return_value->value.lval = id;
+ RETVAL_RESOURCE(id);
}
}
@@ -591,7 +596,6 @@ void php3_Ora_Do_Logon(INTERNAL_FUNCTION_PARAMETERS, int persistent)
NULL);
efree(hashed_details);
- return_value->type = IS_RESOURCE;
}
/* {{{ proto int ora_logoff(int connection)
@@ -850,7 +854,6 @@ void php3_Ora_Bind(INTERNAL_FUNCTION_PARAMETERS)
convert_to_string(argv[1]);
convert_to_string(argv[2]);
convert_to_long(argv[3]);
-
cursor = ora_get_cursor(list, argv[0]->value.lval);
if (cursor == NULL) {
@@ -863,7 +866,7 @@ void php3_Ora_Bind(INTERNAL_FUNCTION_PARAMETERS)
cursor->params = (HashTable *)emalloc(sizeof(HashTable));
if (!cursor->params ||
_php3_hash_init(cursor->params, 19, NULL,
- (void (*)(void *))pval_ora_param_destructor, 0) == FAILURE) {
+ HASH_DTOR pval_ora_param_destructor, 0) == FAILURE) {
php3_error(E_ERROR, "Unable to initialize parameter list");
RETURN_FALSE;
}
@@ -940,7 +943,6 @@ void php3_Ora_Exec(INTERNAL_FUNCTION_PARAMETERS)
{ /* cursor_index */
pval *arg;
oraCursor *cursor = NULL;
- ELS_FETCH();
if (getParameters(ht, 1, &arg) == FAILURE)
WRONG_PARAM_COUNT;
@@ -1224,8 +1226,7 @@ void php3_Ora_FetchInto(INTERNAL_FUNCTION_PARAMETERS)
RETURN_FALSE;
} else {
#if PHP_API_VERSION >= 19990421
- tmp = emalloc(sizeof(pval));
- INIT_PZVAL(tmp);
+ MAKE_STD_ZVAL(tmp);
#endif
tmp->type = IS_STRING;
@@ -1234,16 +1235,6 @@ void php3_Ora_FetchInto(INTERNAL_FUNCTION_PARAMETERS)
switch(cursor->columns[i].dbtype) {
case SQLT_LNG:
case SQLT_LBI:
-#if 0
- {
- ub4 ret_len;
- /* XXX 64k max for LONG and LONG RAW */
- oflng(&cursor->cda, (sword)(i + 1), cursor->columns[i].buf, DB_SIZE, 1,
- &ret_len, 0);
-
- tmp->value.str.len = ret_len;
- }
-#else
{
ub4 ret_len;
int offset = cursor->columns[i].col_retlen;
@@ -1282,7 +1273,6 @@ void php3_Ora_FetchInto(INTERNAL_FUNCTION_PARAMETERS)
tmp->value.str.len = 0;
}
}
-#endif
break;
default:
tmp->value.str.len = min(cursor->columns[i].col_retlen,
@@ -1294,13 +1284,13 @@ void php3_Ora_FetchInto(INTERNAL_FUNCTION_PARAMETERS)
if (flags&ORA_FETCHINTO_ASSOC){
#if PHP_API_VERSION >= 19990421
- _php3_hash_update(arr->value.ht, cursor->columns[i].cbuf, cursor->columns[i].cbufl+1, (void *) &tmp, sizeof(pval), NULL);
+ _php3_hash_update(arr->value.ht, cursor->columns[i].cbuf, cursor->columns[i].cbufl+1, (void *) &tmp, sizeof(pval*), NULL);
#else
_php3_hash_update(arr->value.ht, cursor->columns[i].cbuf, cursor->columns[i].cbufl+1, (void *) tmp, sizeof(pval), NULL);
#endif
} else {
#if PHP_API_VERSION >= 19990421
- _php3_hash_index_update(arr->value.ht, i, (void *) &tmp, sizeof(pval), NULL);
+ _php3_hash_index_update(arr->value.ht, i, (void *) &tmp, sizeof(pval*), NULL);
#else
_php3_hash_index_update(arr->value.ht, i, (void *) tmp, sizeof(pval), NULL);
#endif
@@ -1644,7 +1634,7 @@ void php3_Ora_ErrorCode(INTERNAL_FUNCTION_PARAMETERS)
convert_to_long(arg);
if ((cursor = ora_get_cursor(list, arg->value.lval)) != NULL) {
- RETVAL_LONG(cursor->cda.rc);
+ RETURN_LONG(cursor->cda.rc);
} else if ((conn = ora_get_conn(list,plist, arg->value.lval)) != NULL) {
RETURN_LONG(conn->lda.rc);
}
@@ -1843,18 +1833,15 @@ int ora_set_param_values(oraCursor *cursor, int isout)
{
char *paramname;
oraParam *param;
-
#if PHP_API_VERSION < 19990421
pval *pdata;
#else
pval **pdata;
#endif
-
int i, len, plen;
#if (WIN32|WINNT)
/* see variables.c */
HashTable *symbol_table=php3i_get_symbol_table();
-jj
#endif
_php3_hash_internal_pointer_reset(cursor->params);
@@ -1910,21 +1897,22 @@ jj
#else
if(_php3_hash_find(&EG(symbol_table), paramname, strlen(paramname) + 1, (void **)&pdata) == FAILURE){
#endif
- php3_error(E_WARNING, "Can't find variable for parameter <%s>",paramname);
+ php3_error(E_WARNING, "Can't find variable for parameter");
efree(paramname);
return 0;
}
#endif
+
#if PHP_API_VERSION < 19990421
- convert_to_string(pdata);
+ convert_to_string(pdata);
plen = pdata->value.str.len;
#else
convert_to_string(*pdata);
plen = (*pdata)->value.str.len;
#endif
- if(param->progvl <= plen){
- php3_error(E_NOTICE, "Input value will be truncated");
- }
+ if (param->progvl <= plen){
+ php3_error(E_NOTICE, "Input value will be truncated");
+ }
len = min(param->progvl - 1, plen);
@@ -1933,13 +1921,12 @@ jj
#else
strncpy(param->progv, (*pdata)->value.str.val, len);
#endif
-
param->progv[len] = '\0';
efree(paramname);
}
+
return 1;
-
}
#endif /* HAVE_ORACLE */