summaryrefslogtreecommitdiff
path: root/date.c
diff options
context:
space:
mode:
Diffstat (limited to 'date.c')
-rw-r--r--date.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/date.c b/date.c
index b59e832d6c..ffa4246aa0 100644
--- a/date.c
+++ b/date.c
@@ -245,7 +245,8 @@ void parse_date(char *date, char *result, int maxlen)
tm.tm_year = -1;
tm.tm_mon = -1;
tm.tm_mday = -1;
- offset = 0;
+ tm.tm_isdst = -1;
+ offset = -1;
for (;;) {
int match = 0;
@@ -270,7 +271,11 @@ void parse_date(char *date, char *result, int maxlen)
date += match;
}
- then = my_mktime(&tm); /* mktime uses local timezone */
+ /* mktime uses local timezone */
+ then = my_mktime(&tm);
+ if (offset == -1)
+ offset = (then - mktime(&tm)) / 60;
+
if (then == -1)
return;