summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2002-03-01 14:03:10 +0000
committerDerick Rethans <derick@php.net>2002-03-01 14:03:10 +0000
commit6f6c4ec7c7a24f98a646c1a485fcac39ea24defd (patch)
tree75fe43c701bf4ece44c5af88b99d3b7d9d674b23
parent91107d7bbb9c632cd730260e3242f4e9da67f2a3 (diff)
downloadphp-git-6f6c4ec7c7a24f98a646c1a485fcac39ea24defd.tar.gz
- Add support for returning NULL values from Interbase resultsets (Patch by
Daniela Mariaschi <mariaschi@libero.it>)
-rw-r--r--ext/interbase/interbase.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c
index 3e35cb5c35..eb2795aebf 100644
--- a/ext/interbase/interbase.c
+++ b/ext/interbase/interbase.c
@@ -2106,7 +2106,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
switch (Z_TYPE_P(tmp)) {
case IS_STRING:
add_property_stringl(return_value, var->aliasname, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 0);
-break;
+ break;
case IS_LONG:
add_property_long(return_value, var->aliasname, Z_LVAL_P(tmp));
break;
@@ -2116,7 +2116,13 @@ break;
}
}
efree(tmp);
- } /* if not null */
+ } else {
+ if (fetch_type & FETCH_ARRAY) {
+ add_index_null(return_value, i);
+ } else {
+ add_property_null(return_value, var->aliasname);
+ }
+ }
if ((var->sqltype & ~1) == SQL_ARRAY) {
arr_cnt++;
}