summaryrefslogtreecommitdiff
path: root/apps/alarm_menu.c
diff options
context:
space:
mode:
authorUwe Freese <thebreaker@rockbox.org>2003-03-03 14:23:39 +0000
committerUwe Freese <thebreaker@rockbox.org>2003-03-03 14:23:39 +0000
commit5bfa9b7548ce8122a2f49f2781014b9db6123243 (patch)
treed91955103487c073e405202fe7689379514a1bc5 /apps/alarm_menu.c
parent21130ebc29053b3f8e8ac43ed1b8b29cb756a0e2 (diff)
downloadrockbox-5bfa9b7548ce8122a2f49f2781014b9db6123243.tar.gz
rockbox-5bfa9b7548ce8122a2f49f2781014b9db6123243.zip
avoid min+hour to be out of range after changing the batteries
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3375 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/alarm_menu.c')
-rw-r--r--apps/alarm_menu.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/apps/alarm_menu.c b/apps/alarm_menu.c
index 2f8c5ced47..9ccdcfc3c2 100644
--- a/apps/alarm_menu.c
+++ b/apps/alarm_menu.c
@@ -41,19 +41,24 @@
41bool alarm_screen(void) 41bool alarm_screen(void)
42{ 42{
43 /* get alarm time from RTC */ 43 /* get alarm time from RTC */
44 44
45 int h, m, hour, minute; 45 int h, m, hour, minute;
46 46
47 rtc_get_alarm(&h, &m); 47 rtc_get_alarm(&h, &m);
48 48
49 m = m / 5 * 5; /* 5 min accuracy should be enough */ 49 if (m > 60 || h > 24) { /* after battery-change RTC-values are out of range */
50 50 m = 0;
51 h = 12;
52 } else {
53 m = m / 5 * 5; /* 5 min accuracy should be enough */
54 }
55
51 bool done=false; 56 bool done=false;
52 char buf[32]; 57 char buf[32];
53 58
54 lcd_clear_display(); 59 lcd_clear_display();
55 lcd_puts(0,1, str(LANG_ALARM_MOD_KEYS)); 60 lcd_puts(0,1, str(LANG_ALARM_MOD_KEYS));
56 61
57 while(!done) { 62 while(!done) {
58 snprintf(buf, 32, str(LANG_ALARM_MOD_TIME), h, m); 63 snprintf(buf, 32, str(LANG_ALARM_MOD_TIME), h, m);
59 lcd_puts(0,0, buf); 64 lcd_puts(0,0, buf);