summaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorAlexey Soloviev2010-12-31 05:21:51 +0100
committerDenys Vlasenko2010-12-31 05:21:51 +0100
commita5d3d3436b16bf6e1a92ed969e171ac812e8f906 (patch)
treea4fe6c805f31f97c445efaa5eb2e8378e7b1540c /coreutils
parenta9e25ffa678a357c581b9b7f65a7b2ce1ae2a63e (diff)
downloadbusybox-a5d3d3436b16bf6e1a92ed969e171ac812e8f906.zip
busybox-a5d3d3436b16bf6e1a92ed969e171ac812e8f906.tar.gz
date: preserve isdst value if date is in time_t (unix time) format
Signed-off-by: Alexey Soloviev <EXT-Alexey.Soloviev@nokia.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/date.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/coreutils/date.c b/coreutils/date.c
index c73fb5b..6ad5f1b 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -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);