diff --git a/src/interfaces/ecpg/compatlib/informix.c b/src/interfaces/ecpg/compatlib/informix.c index d60019f68f..807349fd83 100644 --- a/src/interfaces/ecpg/compatlib/informix.c +++ b/src/interfaces/ecpg/compatlib/informix.c @@ -443,7 +443,12 @@ rtoday (Date *d) int rjulmdy (Date d, short mdy[3]) { - PGTYPESdate_julmdy(d, (int *)mdy); + int mdy_int[3]; + + PGTYPESdate_julmdy(d, mdy_int); + mdy[0] = (short)mdy_int[0]; + mdy[1] = (short)mdy_int[1]; + mdy[2] = (short)mdy_int[2]; return 0; } @@ -482,7 +487,12 @@ rfmtdate (Date d, char *fmt, char *str) int rmdyjul (short mdy[3], Date *d) { - PGTYPESdate_mdyjul((int *)mdy, d); + int mdy_int[3]; + + mdy_int[0] = mdy[0]; + mdy_int[1] = mdy[1]; + mdy_int[2] = mdy[2]; + PGTYPESdate_mdyjul(mdy_int, d); return 0; } diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 6c9bd208c7..b9e0c35d0c 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.9 2003/07/01 12:40:51 meskes Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.10 2003/07/17 07:54:29 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -308,7 +308,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr) static bool _check(unsigned char *ptr, int length) { - for (;ptr[length] == 0xff && length >= 0; length --); + for (;ptr[--length] == 0xff && length >= 0; length --); if (length < 0) return true; return false; } diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c index d9ca870873..9e8becbda7 100644 --- a/src/interfaces/ecpg/pgtypeslib/datetime.c +++ b/src/interfaces/ecpg/pgtypeslib/datetime.c @@ -101,9 +101,9 @@ PGTYPESdate_julmdy(Date jd, int* mdy) int y, m, d; j2date((int) jd, &y, &m, &d); - mdy[0] = (short int) m; - mdy[1] = (short int) d; - mdy[2] = (short int) y; + mdy[0] = m; + mdy[1] = d; + mdy[2] = y; } void