Commit fbf1fd26 authored by Peter Eisentraut's avatar Peter Eisentraut

Fix null checking of type decimal datums without indicator in Informix

mode.

from Dave Cramer
parent e39bc695
/* $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 #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -263,7 +263,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr) ...@@ -263,7 +263,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
{ {
case ECPGt_char: case ECPGt_char:
case ECPGt_unsigned_char: case ECPGt_unsigned_char:
*((char *) ptr) = 0x00; *((char *) ptr) = '\0';
break; break;
case ECPGt_short: case ECPGt_short:
case ECPGt_unsigned_short: case ECPGt_unsigned_short:
...@@ -294,9 +294,11 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr) ...@@ -294,9 +294,11 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
*(((struct ECPGgeneric_varchar *) ptr)->arr) = 0x00; *(((struct ECPGgeneric_varchar *) ptr)->arr) = 0x00;
break; break;
case ECPGt_decimal: case ECPGt_decimal:
memset((char *) ptr, 0, sizeof(Decimal));
((Decimal *) ptr)->sign = NUMERIC_NAN; ((Decimal *) ptr)->sign = NUMERIC_NAN;
break; break;
case ECPGt_numeric: case ECPGt_numeric:
memset((char *) ptr, 0, sizeof(Numeric));
((Numeric *) ptr)->sign = NUMERIC_NAN; ((Numeric *) ptr)->sign = NUMERIC_NAN;
break; break;
case ECPGt_interval: case ECPGt_interval:
...@@ -326,7 +328,7 @@ ECPGis_informix_null(enum ECPGttype type, void *ptr) ...@@ -326,7 +328,7 @@ ECPGis_informix_null(enum ECPGttype type, void *ptr)
{ {
case ECPGt_char: case ECPGt_char:
case ECPGt_unsigned_char: case ECPGt_unsigned_char:
if (*((char *) ptr) == 0x00) if (*((char *) ptr) == '\0')
return true; return true;
break; break;
case ECPGt_short: case ECPGt_short:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment