summaryrefslogtreecommitdiff
path: root/firmware
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
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')
-rw-r--r--firmware/Makefile3
-rw-r--r--firmware/drivers/fat.c11
2 files changed, 11 insertions, 3 deletions
diff --git a/firmware/Makefile b/firmware/Makefile
index 8e9fad5848..1165c26975 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -9,7 +9,8 @@
9 9
10INCLUDES=-Iinclude -I$(FIRMDIR) -Iexport -Icommon -Idrivers -I$(BUILDDIR) 10INCLUDES=-Iinclude -I$(FIRMDIR) -Iexport -Icommon -Idrivers -I$(BUILDDIR)
11 11
12CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} 12CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(BUILDDATE) $(EXTRA_DEFINES) \
13 -DMEM=${MEMORYSIZE}
13 14
14# This sets up 'SRC' based on the files mentioned in SOURCES 15# This sets up 'SRC' based on the files mentioned in SOURCES
15include $(TOOLSDIR)/makesrc.inc 16include $(TOOLSDIR)/makesrc.inc
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 {