diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/fat.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index c11a9f1247..7bb2645506 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c | |||
@@ -1059,8 +1059,15 @@ static void fat_time(unsigned short* date, | |||
1059 | { | 1059 | { |
1060 | if (0 == *date) | 1060 | if (0 == *date) |
1061 | { | 1061 | { |
1062 | /* set to 1 August 2003 */ | 1062 | /* Macros to convert a 2-digit string to a decimal constant. |
1063 | *date = ((2003 - 1980) << 9) | (8 << 5) | 1; | 1063 | (YEAR), MONTH and DAY are set by the date command, which outputs |
1064 | DAY as 00..31 and MONTH as 01..12. The leading zero would lead to | ||
1065 | misinterpretation as an octal constant. */ | ||
1066 | #define S100(x) 1 ## x | ||
1067 | #define C2DIG2DEC(x) (S100(x)-100) | ||
1068 | /* set to build date */ | ||
1069 | *date = ((YEAR - 1980) << 9) | (C2DIG2DEC(MONTH) << 5) | ||
1070 | | C2DIG2DEC(DAY); | ||
1064 | } | 1071 | } |
1065 | else | 1072 | else |
1066 | { | 1073 | { |