#if defined(HAVE_TM_ZONE) || defined(HAVE_INT_TIMEZONE)
if (tzp != NULL)
+ {
tx = localtime((time_t *) &time);
+# ifdef NO_MKTIME_BEFORE_1970
+ if (tx->tm_year < 70 && tx->tm_isdst == 1)
+ {
+ time -= 3600;
+ tx = localtime((time_t *) &time);
+ tx->tm_isdst = 0;
+ }
+# endif
+ }
else
{
tx = gmtime((time_t *) &time);
#if defined(HAVE_TM_ZONE) || defined(HAVE_INT_TIMEZONE)
tx = localtime(&utime);
+# ifdef NO_MKTIME_BEFORE_1970
+ if (tx->tm_year < 70 && tx->tm_isdst == 1)
+ {
+ utime -= 3600;
+ tx = localtime(&utime);
+ tx->tm_isdst = 0;
+ }
+# endif
tm->tm_year = tx->tm_year + 1900;
tm->tm_mon = tx->tm_mon + 1;
tm->tm_mday = tx->tm_mday;
#define CLASS_CONFLICT
#define DISABLE_XOPEN_NLS
#define HAS_TEST_AND_SET
+#define NO_MKTIME_BEFORE_1970
typedef unsigned int slock_t;
#include <sys/machine.h> /* ENDIAN definitions for network
-abstime/.*-aix4=abstime-1947-PDT
-abstime/.*-irix6=abstime-1947-PDT
abstime/alpha.*-dec-osf=abstime-solaris-1947
abstime/i.86-pc-solaris=abstime-solaris-1947
abstime/sparc-sun-solaris=abstime-solaris-1947
geometry/sparc.*-linux-gnu=geometry-solaris-precision
geometry/alpha.*-linux-gnu=geometry-solaris-precision
geometry/.*-beos=geometry-intel-beos
-horology/.*-aix4=horology-1947-PDT
-horology/.*-irix6=horology-1947-PDT
+horology/.*-aix4=horology-no-DST-before-1970
+horology/.*-irix6=horology-no-DST-before-1970
horology/alpha.*-dec-osf=horology-solaris-1947
horology/.*-cygwin=horology-no-DST-before-1970
horology/hppa=horology-no-DST-before-1970
int4/.*-sysv5uw=int4-too-large
int4/.*-beos=int4-range-error
int8/.*-qnx=int8-exp-three-digits
-tinterval/.*-aix4=tinterval-1947-PDT
-tinterval/.*-irix6=tinterval-1947-PDT
tinterval/alpha.*-dec-osf=tinterval-solaris-1947
tinterval/i.86-pc-solaris=tinterval-solaris-1947
tinterval/sparc-sun-solaris=tinterval-solaris-1947