diff options
Diffstat (limited to 'apps/talk.c')
-rw-r--r-- | apps/talk.c | 27 |
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 | ||
1497 | void talk_date(const struct tm *tm, bool enqueue) | 1497 | void 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 | ||
1504 | void talk_time(const struct tm *tm, bool enqueue) | 1525 | void talk_time(const struct tm *tm, bool enqueue) |