From: grant@osf.org A friend of mine at another company told me he had run into similar mktime() problems with the FIPS151-2 test suite. He made alterations which resulted in mktime() returning 667533600, and tm_isdst reset to 1, so we both have the same interpretations of the XPG4 and POSIX.1 standards. His version of mktime() was based on something older than your June'93 kit.
I had forgotten to include in my original note to Arthur that not only was the returned tm_isdst adjusted to "1", but the entire tm struct was adjusted forward by one hour, in accordance with the returned value of 667533600. My friend at the other company sent me the new output of my test program after he had modified mktime() and tzset(). The test program output changed to: mktime test: PCTS/STD/LS/mktime 8.1.58_9 Assert 5.1.3 mktime test: for this test, set TZ=dst0std,J057,J059 current value of TZ = (null) new value of TZ = std0dst,J057,J059 time_str tm struct set to: year = 91, mon = 1, mday = 26, hour = 2, min = 0, sec = 0, wday = -1, yd ay = -1, isdst = -1 expected value from mktime = 667530000 mktime returned value = 667533600 mktime() final time_str tm struct reset to: year = 91, mon = 1, mday = 26, hour = 3, min = 0, sec = 0, wday = 2, yda y = 56, isdst = 1 Tuesday His company's version of mktime() and tzset() is based on BSD 4.3-Tahoe, so his changes are not directly appliable to the current code. Grant Sullivan Open Software Foundation