OSDN Git Service
(root)
/
android-x86
/
external-exfat.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b9552ca
)
Respect daylight saving time.
author
relan
<relan@users.noreply.github.com>
Mon, 4 Jul 2016 08:57:02 +0000
(11:57 +0300)
committer
relan
<relan@users.noreply.github.com>
Sat, 6 Aug 2016 12:32:48 +0000
(15:32 +0300)
libexfat/time.c
patch
|
blob
|
history
diff --git
a/libexfat/time.c
b/libexfat/time.c
index
7d2becd
..
93c1d67
100644
(file)
--- a/
libexfat/time.c
+++ b/
libexfat/time.c
@@
-151,8
+151,14
@@
void exfat_unix2exfat(time_t unix_time, le16_t* date, le16_t* time,
void exfat_tzset(void)
{
time_t now;
+ struct tm* utc;
tzset();
now = time(NULL);
- exfat_timezone = mktime(gmtime(&now)) - now;
+ utc = gmtime(&now);
+ /* gmtime() always sets tm_isdst to 0 because daylight savings never
+ affect UTC. Setting tm_isdst to -1 makes mktime() to determine whether
+ summer time is in effect. */
+ utc->tm_isdst = -1;
+ exfat_timezone = mktime(utc) - now;
}