esp-idf/components/fatfs
Ivan Grokhotkov 39238f51ce fatfs: fix incorrect mtime returned for files created during DST
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.

According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.

Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.

Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2022-06-09 19:50:00 +00:00
..
diskio fatfs: Add trim ioctl call, set FF_USE_TRIM as default option. 2022-03-05 16:35:37 +05:30
fatfs_utils fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files 2022-05-25 15:49:24 +02:00
port Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
src fatfs: Disable UTF-16 filename encoding 2022-05-20 15:15:01 +02:00
test fatfs: fix incorrect mtime returned for files created during DST 2022-06-09 19:50:00 +00:00
test_fatfs_host fatfs: Update to version 0.14b 2022-02-21 14:54:55 +01:00
test_fatfsgen fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files 2022-05-25 15:49:24 +02:00
vfs fatfs: fix incorrect mtime returned for files created during DST 2022-06-09 19:50:00 +00:00
CMakeLists.txt sdspi: support crc16_be for esp32s2 2020-02-12 15:15:46 +08:00
fatfsgen.py fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files 2022-05-25 15:49:24 +02:00
fatfsparse.py fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files 2022-05-25 15:49:24 +02:00
Kconfig fatfs: Disable UTF-16 filename encoding 2022-05-20 15:15:01 +02:00
project_include.cmake fatfsgen.py: enabled date and time for fatfs 2022-04-07 15:01:28 +02:00
wl_fatfsgen.py fatfsparse.py: add cluster chaining support to enable reading longer-than-sector files 2022-05-25 15:49:24 +02:00