Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fbf1fd2

Browse files
committed
Fix null checking of type decimal datums without indicator in Informix
mode. from Dave Cramer
1 parent e39bc69 commit fbf1fd2

File tree

1 file changed

+5
-3
lines changed
  • src/interfaces/ecpg/ecpglib

1 file changed

+5
-3
lines changed

src/interfaces/ecpg/ecpglib/misc.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.13 2003/08/04 00:43:32 momjian Exp $ */
1+
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.14 2003/08/08 13:17:58 petere Exp $ */
22

33
#define POSTGRES_ECPG_INTERNAL
44
#include "postgres_fe.h"
@@ -263,7 +263,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
263263
{
264264
case ECPGt_char:
265265
case ECPGt_unsigned_char:
266-
*((char *) ptr) = 0x00;
266+
*((char *) ptr) = '\0';
267267
break;
268268
case ECPGt_short:
269269
case ECPGt_unsigned_short:
@@ -294,9 +294,11 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
294294
*(((struct ECPGgeneric_varchar *) ptr)->arr) = 0x00;
295295
break;
296296
case ECPGt_decimal:
297+
memset((char *) ptr, 0, sizeof(Decimal));
297298
((Decimal *) ptr)->sign = NUMERIC_NAN;
298299
break;
299300
case ECPGt_numeric:
301+
memset((char *) ptr, 0, sizeof(Numeric));
300302
((Numeric *) ptr)->sign = NUMERIC_NAN;
301303
break;
302304
case ECPGt_interval:
@@ -326,7 +328,7 @@ ECPGis_informix_null(enum ECPGttype type, void *ptr)
326328
{
327329
case ECPGt_char:
328330
case ECPGt_unsigned_char:
329-
if (*((char *) ptr) == 0x00)
331+
if (*((char *) ptr) == '\0')
330332
return true;
331333
break;
332334
case ECPGt_short:

0 commit comments

Comments
 (0)