From: Russell Bryant Date: Thu, 14 Jun 2007 21:08:23 +0000 (+0000) Subject: Fix some problems with saying dates and times for the "tw" langauge X-Git-Tag: 1.4.5~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=45ad7fcec8018f51717f0193c801f0f3e2de19c2;p=thirdparty%2Fasterisk.git Fix some problems with saying dates and times for the "tw" langauge (issue #9964, ljmid) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69358 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/say.c b/main/say.c index 20f73b5b10..4d05848d0f 100644 --- a/main/say.c +++ b/main/say.c @@ -5183,7 +5183,7 @@ int ast_say_date_with_format_tw(struct ast_channel *chan, time_t time, const cha char sndfile[256], nextmsg[256]; if (format == NULL) - format = "YBdA 'digits/at' HM"; + format = "YBdAkM"; ast_localtime(&time,&tm,timezone); @@ -5221,16 +5221,17 @@ int ast_say_date_with_format_tw(struct ast_channel *chan, time_t time, const cha case 'e': /* First - Thirtyfirst */ if (!(tm.tm_mday % 10) || (tm.tm_mday < 10)) { - snprintf(nextmsg,sizeof(nextmsg), "digits/h-%d", tm.tm_mday); + snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_mday); res = wait_file(chan,ints,nextmsg,lang); } else { - snprintf(nextmsg,sizeof(nextmsg), "digits/h-%dh", tm.tm_mday - (tm.tm_mday % 10)); + snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_mday - (tm.tm_mday % 10)); res = wait_file(chan,ints,nextmsg,lang); if(!res) { - snprintf(nextmsg,sizeof(nextmsg), "digits/h-%d", tm.tm_mday % 10); + snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_mday % 10); res = wait_file(chan,ints,nextmsg,lang); } } + if(!res) res = wait_file(chan,ints,"ri",lang); break; case 'Y': /* Year */ @@ -5300,12 +5301,12 @@ int ast_say_date_with_format_tw(struct ast_channel *chan, time_t time, const cha } break; case 'H': + if (tm.tm_hour < 10) { + res = wait_file(chan, ints, "digits/0", lang); + } case 'k': /* 24-Hour */ if (!(tm.tm_hour % 10) || tm.tm_hour < 10) { - if (tm.tm_hour < 10) { - res = wait_file(chan, ints, "digits/0", lang); - } snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour); res = wait_file(chan,ints,nextmsg,lang); } else { @@ -5406,7 +5407,7 @@ int ast_say_date_with_format_tw(struct ast_channel *chan, time_t time, const cha } break; case 'R': - res = ast_say_date_with_format_tw(chan, time, ints, lang, "HM", timezone); + res = ast_say_date_with_format_tw(chan, time, ints, lang, "kM", timezone); break; case 'S': /* Seconds */