]> granicus.if.org Git - php/commitdiff
@- Ora_GetColumn()/Ora_FetchInto() now return NULL for NULL-Columns. (Thies)
authorThies C. Arntzen <thies@php.net>
Tue, 18 Jan 2000 08:35:55 +0000 (08:35 +0000)
committerThies C. Arntzen <thies@php.net>
Tue, 18 Jan 2000 08:35:55 +0000 (08:35 +0000)
also changed return-type for list-dtor

ext/oracle/oracle.c

index 5a5b260a8145724abe97d855844f86dd730668e9..1b132dd5ff597c26ae3d7c037b651fde2f6cd655 100644 (file)
@@ -36,7 +36,7 @@
 #if HAVE_ORACLE
 
 #include "php_oracle.h"
-#define HASH_DTOR (int (*)(void *))
+#define HASH_DTOR (void (*)(void *))
 
 #ifdef WIN32
 # include "variables.h"
@@ -207,13 +207,12 @@ static int _close_oraconn(oraConnection *conn)
        return 1;
 }
 
-static int
+static void
 pval_ora_param_destructor(oraParam *param)
 {
        if (param->progv) {
                efree(param->progv);
        }
-       return 1;
 }
 
 
@@ -1112,9 +1111,7 @@ PHP_FUNCTION(ora_fetch_into)
                                continue; /* don't add anything for NULL columns, unless the calles wants it */
                        } else {
                                MAKE_STD_ZVAL(tmp);
-                               
-                               tmp->type = IS_BOOL; /* return false for NULL columns */
-                               tmp->value.lval = 0;
+                               ZVAL_NULL(tmp);
                        }
                } else if (cursor->columns[i].col_retcode != 0 &&
                                   cursor->columns[i].col_retcode != 1406) {
@@ -1387,6 +1384,10 @@ PHP_FUNCTION(ora_getcolumn)
 
        type = column->dbtype; 
 
+       if (column->col_retcode == 1405) {
+               RETURN_NULL;
+       }
+
        if (column->col_retcode != 0 && column->col_retcode != 1406) {
                /* So error fetching column.  The most common is 1405, a NULL
                 * was retreived.  1406 is ASCII or string buffer data was