summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Kukla <roolku@rockbox.org>2007-03-31 13:04:22 +0000
committerRobert Kukla <roolku@rockbox.org>2007-03-31 13:04:22 +0000
commit8f1bc1f00ba230e49281a31036f1f19e455bf54b (patch)
tree2939fd766a2642539f90af1c5683926c8e998097
parenta8aec35d0a13c0d587e0615ca1e06aa79e4bc89a (diff)
downloadrockbox-8f1bc1f00ba230e49281a31036f1f19e455bf54b.tar.gz
rockbox-8f1bc1f00ba230e49281a31036f1f19e455bf54b.zip
pre-set date fields in time/date screen to build date ( FS#6831 & FS#6939 )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12982 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/Makefile2
-rw-r--r--apps/menus/settings_menu.c14
2 files changed, 11 insertions, 5 deletions
diff --git a/apps/Makefile b/apps/Makefile
index c63fa825c9..8fc1bf627d 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -54,7 +54,7 @@ ifdef APPEXTRA
54 INCLUDES += $(patsubst %,-I%,$(subst :, ,$(APPEXTRA))) 54 INCLUDES += $(patsubst %,-I%,$(subst :, ,$(APPEXTRA)))
55endif 55endif
56 56
57CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(DEFINES) -DTARGET_ID=$(TARGET_ID) \ 57CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(BUILDDATE) $(DEFINES) -DTARGET_ID=$(TARGET_ID) \
58 -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} \ 58 -DAPPSVERSION=\"$(VERSION)\" $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} \
59 -DTARGET_NAME=\"$(ARCHOS)\" 59 -DTARGET_NAME=\"$(ARCHOS)\"
60 60
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index 939a2f3c8c..bc253ed398 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -202,14 +202,20 @@ static int timedate_set(void)
202 /* This prevents problems with time/date setting after a power loss */ 202 /* This prevents problems with time/date setting after a power loss */
203 if (!valid_time(&tm)) 203 if (!valid_time(&tm))
204 { 204 {
205 /* hour */ 205/* Macros to convert a 2-digit string to a decimal constant.
206 (YEAR), MONTH and DAY are set by the date command, which outputs
207 DAY as 00..31 and MONTH as 01..12. The leading zero would lead to
208 misinterpretation as an octal constant. */
209#define S100(x) 1 ## x
210#define C2DIG2DEC(x) (S100(x)-100)
211
206 tm.tm_hour = 0; 212 tm.tm_hour = 0;
207 tm.tm_min = 0; 213 tm.tm_min = 0;
208 tm.tm_sec = 0; 214 tm.tm_sec = 0;
209 tm.tm_mday = 1; 215 tm.tm_mday = C2DIG2DEC(DAY);
210 tm.tm_mon = 0; 216 tm.tm_mon = C2DIG2DEC(MONTH)-1;
211 tm.tm_wday = 1; 217 tm.tm_wday = 1;
212 tm.tm_year = 100; 218 tm.tm_year = YEAR-1900;
213 } 219 }
214 220
215 result = (int)set_time_screen(str(LANG_TIME), &tm); 221 result = (int)set_time_screen(str(LANG_TIME), &tm);