From 89c7369d0e74a30b32db664e4c117ccdca78274c Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Mon, 26 Apr 1999 04:42:49 +0000 Subject: [PATCH] Fix from Yutaka Tanida for Cygwin32 support. --- src/backend/utils/adt/datetime.c | 6 +++++- src/backend/utils/adt/dt.c | 22 +++++++++++++++++++--- src/backend/utils/adt/nabstime.c | 13 +++++++++++-- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index bdc4b589d2..aad1cec4eb 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.31 1999/04/15 02:22:37 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.32 1999/04/26 04:42:48 ishii Exp $ * *------------------------------------------------------------------------- */ @@ -360,7 +360,11 @@ date2tm(DateADT dateVal, int *tzp, struct tm *tm, double *fsec, char **tzn) if (tzn != NULL) *tzn = (char *)tm->tm_zone; #elif defined(HAVE_INT_TIMEZONE) +#ifdef __CYGWIN__ + *tzp = (tm->tm_isdst ? (_timezone - 3600) : _timezone); +#else *tzp = (tm->tm_isdst ? (timezone - 3600) : timezone); +#endif if (tzn != NULL) *tzn = tzname[(tm->tm_isdst > 0)]; #else diff --git a/src/backend/utils/adt/dt.c b/src/backend/utils/adt/dt.c index 373553ed4c..4ab65561e1 100644 --- a/src/backend/utils/adt/dt.c +++ b/src/backend/utils/adt/dt.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.68 1999/04/15 02:22:39 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.69 1999/04/26 04:42:48 ishii Exp $ * *------------------------------------------------------------------------- */ @@ -1451,7 +1451,13 @@ datetime_trunc(text *units, DateTime *datetime) #if defined(HAVE_TM_ZONE) tz = -(tm->tm_gmtoff); /* tm_gmtoff is Sun/DEC-ism */ #elif defined(HAVE_INT_TIMEZONE) - tz = ((tm->tm_isdst > 0) ? (timezone - 3600) : timezone); + +#ifdef __CYGWIN__ + tz = (tm->tm_isdst ? (_timezone - 3600) : _timezone); +#else + tz = (tm->tm_isdst ? (timezone - 3600) : timezone); +#endif + #else #error USE_POSIX_TIME is defined but neither HAVE_TM_ZONE or HAVE_INT_TIMEZONE are defined #endif @@ -2434,7 +2440,11 @@ datetime2tm(DateTime dt, int *tzp, struct tm * tm, double *fsec, char **tzn) if (tzn != NULL) *tzn = (char *)tm->tm_zone; #elif defined(HAVE_INT_TIMEZONE) +#ifdef __CYGWIN__ + *tzp = (tm->tm_isdst ? (_timezone - 3600) : _timezone); +#else *tzp = (tm->tm_isdst ? (timezone - 3600) : timezone); +#endif if (tzn != NULL) *tzn = tzname[(tm->tm_isdst > 0)]; #else @@ -3058,7 +3068,13 @@ DecodeDateTime(char **field, int *ftype, int nf, #if defined(HAVE_TM_ZONE) *tzp = -(tm->tm_gmtoff); /* tm_gmtoff is Sun/DEC-ism */ #elif defined(HAVE_INT_TIMEZONE) - *tzp = ((tm->tm_isdst > 0) ? (timezone - 3600) : timezone); + #ifdef __CYGWIN__ + *tzp = ((tm->tm_isdst > 0) ? (_timezone - 3600) : _timez +one); + #else + *tzp = ((tm->tm_isdst > 0) ? (timezone - 3600) : timezon +e); + #endif #else #error USE_POSIX_TIME is defined but neither HAVE_TM_ZONE or HAVE_INT_TIMEZONE are defined #endif diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c index 8e3b1463ee..11f7081942 100644 --- a/src/backend/utils/adt/nabstime.c +++ b/src/backend/utils/adt/nabstime.c @@ -4,7 +4,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: nabstime.c,v 1.53 1999/02/21 03:49:32 scrappy Exp $ + * $Id: nabstime.c,v 1.54 1999/04/26 04:42:49 ishii Exp $ * */ #include @@ -77,7 +77,12 @@ GetCurrentAbsoluteTime(void) tm = localtime(&now); CDayLight = tm->tm_isdst; - CTimeZone = (tm->tm_isdst ? (timezone - 3600) : timezone); + CTimeZone = +#ifdef __CYGWIN32__ + (tm->tm_isdst ? (_timezone - 3600) : _timezone); +#else + (tm->tm_isdst ? (timezone - 3600) : timezone); +#endif strcpy(CTZName, tzname[tm->tm_isdst]); #else #error USE_POSIX_TIME defined but no time zone available @@ -167,7 +172,11 @@ abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char *tzn) strcpy(tzn, tm->tm_zone); #elif defined(HAVE_INT_TIMEZONE) if (tzp != NULL) +#ifdef __CYGWIN__ + *tzp = (tm->tm_isdst ? (_timezone - 3600) : _timezone); +#else *tzp = (tm->tm_isdst ? (timezone - 3600) : timezone); +#endif if (tzn != NULL) strcpy(tzn, tzname[tm->tm_isdst]); #else -- GitLab