Stephen R. van den Berg wrote:
The original code worked fine on Solaris 10, but only in one of two variants (at pike level).
To quote my original report:
test_eq(mktime (33, 3, 12, 14, 6, 117, 0, 0), 1500033813); test_eq(mktime ((["sec":33, "min":3, "hour":12, "mday":14, "mon":6, "year":117, "timezone":0])), 1500033813);
They should be equivalent. And they are (on other machines), but
As it turns out, they are not equivalent. The second one, with the mapping as parameter, implicitly includes an isdst == -1.
I fixed the testsuite, and fixed the code in Val.Timestamp and reinstated the original rewrites of mktime().