summaryrefslogtreecommitdiff
path: root/firmware/drivers/fat.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-09-06 18:03:50 +0000
committerJens Arnold <amiconn@rockbox.org>2005-09-06 18:03:50 +0000
commitb2964cad0ce00498ec4567eaae7c3db4da7ecbed (patch)
tree0dfa183d8307c15ccad75a91b86c3839376ca9b6 /firmware/drivers/fat.c
parent0172b78995f12ee696783940e29588b957ad5af8 (diff)
downloadrockbox-b2964cad0ce00498ec4567eaae7c3db4da7ecbed.tar.gz
rockbox-b2964cad0ce00498ec4567eaae7c3db4da7ecbed.zip
For targets without an RTC, use the rockbox build date as the start date in the FAT driver. No more 2003-08-01 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7478 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/fat.c')
-rw-r--r--firmware/drivers/fat.c11
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 {