mktime() failures under PCTS testing

Grant Sullivan grant at
Wed Mar 23 17:13:56 UTC 1994

>> From: grant at
>> 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

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

More information about the tz mailing list