date: preserve isdst value if date is in time_t (unix time) format
No binary (build failed)
—
(log yok)
| @@ -282,7 +282,9 @@ int date_main(int argc UNUSED_PARAM, char **argv) | |
| } | |
| /* Correct any day of week and day of year etc. fields */ | |
| - | tm_time.tm_isdst = -1; /* Be sure to recheck dst */ |
| + | /* Be sure to recheck dst (but not if date is time_t format) */ |
| + | if (date_str[0] != '@') |
| + | tm_time.tm_isdst = -1; |
| ts.tv_sec = validate_tm_time(date_str, &tm_time); | |
| maybe_set_utc(opt); | |
| @@ -0,0 +1,13 @@ | |
| + | # Tests for time_t value (unix time format) |
| + | |
| + | # Just before DST switched off |
| + | test x"Sun Oct 31 03:59:59 EEST 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1288486799`" |
| + | |
| + | # Just after DST switched off |
| + | test x"Sun Oct 31 03:00:01 EET 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1288486801`" |
| + | |
| + | # Just before DST switched on |
| + | test x"Sun Mar 28 02:59:59 EET 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1269737999`" |
| + | |
| + | # Just after DST switched on |
| + | test x"Sun Mar 28 04:00:01 EEST 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1269738001`" |