miller/c/reg_test/expected
Jordan Torbiak 9545db94ea Fix strptime_local and localtime2sec for times during DST
When parsing a timestamp-string into epoch seconds, first we use
strptime to get a `struct tm` of year, month, day, etc, but strptime is
timezone-naive and doesn't set tm_isdst meaningfully (glibc apparently
doesn't set it at all). Then we ask mktime() to convert a `struct tm` to
epoch seconds, and we can ask it to lookup DST status for the current
timezone by giving it a `struct tm` with tm_isdst set to a negative
value. See the mktime(3) manpage.

With this change, strptime_local and localtime2sec agree with how GNU
`date` parses timestamp-strings, with the exception that `date` refuses
to parse ambiguous timestamp-strings that fall within the "fold"
intervals of DST transitions, saying they're invalid. Since `date` uses
additional libraries to give good timezone support it's capable of
detecting these ambiguous timestamp-strings, but for a tool like miller
it's reasonable to rely directly on libc and have it choose an
epoch-seconds-timestamp that correspond to either the first or second
time-of-day that the timestamp-string represents.

Remove a duplicate test from c/reg_test/run.

Fix #170
2021-07-09 15:45:48 -03:00
..
Makefile.am test-reorg iterate 2015-09-25 16:51:12 -04:00
Makefile.in autoreconf -fiv 2020-01-26 10:31:43 -05:00
out Fix strptime_local and localtime2sec for times during DST 2021-07-09 15:45:48 -03:00
out-dev absent-handling iterate 2016-04-09 14:16:09 -04:00