77 *
88 *
99 * IDENTIFICATION
10- * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.78 2000/01/0201:37:27 momjian Exp $
10+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.79 2000/01/0202:32:37 momjian Exp $
1111 *
1212 *-------------------------------------------------------------------------
1313 */
@@ -322,7 +322,8 @@ GetEpochTime(struct tm * tm)
322322tm -> tm_min = t0 -> tm_min ;
323323tm -> tm_sec = t0 -> tm_sec ;
324324
325- tm -> tm_year += 1900 ;
325+ if (tm -> tm_year < 1900 )
326+ tm -> tm_year += 1900 ;
326327tm -> tm_mon ++ ;
327328
328329return ;
@@ -2310,7 +2311,6 @@ datetime2tm(DateTime dt, int *tzp, struct tm * tm, double *fsec, char **tzn)
23102311
23112312#ifdef USE_POSIX_TIME
23122313tx = localtime (& utime );
2313- #endif
23142314tm -> tm_year = tx -> tm_year + 1900 ;
23152315tm -> tm_mon = tx -> tm_mon + 1 ;
23162316tm -> tm_mday = tx -> tm_mday ;
@@ -3288,15 +3288,13 @@ DecodeNumber(int flen, char *str, int fmask,
32883288}
32893289
32903290tm -> tm_year = val ;
3291-
32923291}
32933292/* already have year? then could be month */
32943293else if ((fmask & DTK_M (YEAR ))&& (!(fmask & DTK_M (MONTH )))
32953294&& ((val >=1 )&& (val <=12 )))
32963295{
32973296* tmask = DTK_M (MONTH );
32983297tm -> tm_mon = val ;
3299-
33003298/* no year and EuroDates enabled? then could be day */
33013299}
33023300else if ((EuroDates || (fmask & DTK_M (MONTH )))
@@ -3305,14 +3303,12 @@ DecodeNumber(int flen, char *str, int fmask,
33053303{
33063304* tmask = DTK_M (DAY );
33073305tm -> tm_mday = val ;
3308-
33093306}
33103307else if ((!(fmask & DTK_M (MONTH )))
33113308&& ((val >=1 )&& (val <=12 )))
33123309{
33133310* tmask = DTK_M (MONTH );
33143311tm -> tm_mon = val ;
3315-
33163312}
33173313else if ((!(fmask & DTK_M (DAY )))
33183314&& ((val >=1 )&& (val <=31 )))
@@ -3354,7 +3350,6 @@ DecodeNumberField(int len, char *str, int fmask,
33543350tm -> tm_mon = atoi (str + 4 );
33553351* (str + 4 )= '\0' ;
33563352tm -> tm_year = atoi (str + 0 );
3357-
33583353/* yymmdd or hhmmss? */
33593354}
33603355else if (len == 6 )