diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2003-08-08 13:17:58 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2003-08-08 13:17:58 +0000 |
commit | fbf1fd26501c0000121878cf1bbd5d5918cd5f0d (patch) | |
tree | a6116263deab31a4e36199cb1a7ae2b757640902 /src/interfaces/ecpg/ecpglib/misc.c | |
parent | e39bc695d683dcd6ae376d38e9acb91ae37642de (diff) | |
download | postgresql-fbf1fd26501c0000121878cf1bbd5d5918cd5f0d.tar.gz postgresql-fbf1fd26501c0000121878cf1bbd5d5918cd5f0d.zip |
Fix null checking of type decimal datums without indicator in Informix
mode.
from Dave Cramer
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/misc.c')
-rw-r--r-- | src/interfaces/ecpg/ecpglib/misc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index e87643d8df5..63d4d969b15 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.13 2003/08/04 00:43:32 momjian Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.14 2003/08/08 13:17:58 petere Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -263,7 +263,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr) { case ECPGt_char: case ECPGt_unsigned_char: - *((char *) ptr) = 0x00; + *((char *) ptr) = '\0'; break; case ECPGt_short: case ECPGt_unsigned_short: @@ -294,9 +294,11 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr) *(((struct ECPGgeneric_varchar *) ptr)->arr) = 0x00; break; case ECPGt_decimal: + memset((char *) ptr, 0, sizeof(Decimal)); ((Decimal *) ptr)->sign = NUMERIC_NAN; break; case ECPGt_numeric: + memset((char *) ptr, 0, sizeof(Numeric)); ((Numeric *) ptr)->sign = NUMERIC_NAN; break; case ECPGt_interval: @@ -326,7 +328,7 @@ ECPGis_informix_null(enum ECPGttype type, void *ptr) { case ECPGt_char: case ECPGt_unsigned_char: - if (*((char *) ptr) == 0x00) + if (*((char *) ptr) == '\0') return true; break; case ECPGt_short: |