summaryrefslogtreecommitdiff
path: root/apps/talk.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/talk.c')
-rw-r--r--apps/talk.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/apps/talk.c b/apps/talk.c
index e627337162..e440dd98b5 100644
--- a/apps/talk.c
+++ b/apps/talk.c
@@ -1496,9 +1496,30 @@ void talk_setting(const void *global_settings_variable)
1496 1496
1497void talk_date(const struct tm *tm, bool enqueue) 1497void talk_date(const struct tm *tm, bool enqueue)
1498{ 1498{
1499 talk_id(LANG_MONTH_JANUARY + tm->tm_mon, enqueue); 1499 const char *format = str(LANG_VOICED_DATE_FORMAT);
1500 talk_number(tm->tm_mday, true); 1500 const char *ptr;
1501 talk_number(1900 + tm->tm_year, true); 1501
1502 if (!enqueue)
1503 talk_shutup(); /* cut off all the pending stuff */
1504
1505 for (ptr = format ; *ptr ; ptr++) {
1506 switch(*ptr) {
1507 case 'Y':
1508 talk_number(1900 + tm->tm_year, true);
1509 break;
1510 case 'A':
1511 talk_id(LANG_MONTH_JANUARY + tm->tm_mon, true);
1512 break;
1513 case 'm':
1514 talk_number(tm->tm_mon + 1, true);
1515 break;
1516 case 'd':
1517 talk_number(tm->tm_mday, true);
1518 break;
1519 default:
1520 break;
1521 }
1522 }
1502} 1523}
1503 1524
1504void talk_time(const struct tm *tm, bool enqueue) 1525void talk_time(const struct tm *tm, bool enqueue)