#include "asterisk/channel.h"
#include "asterisk/file.h"
#include <time.h>
Include dependency graph for say.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Functions | |
| int | ast_say_character_str (struct ast_channel *chan, const char *num, const char *ints, const char *lang) |
| int | ast_say_character_str_full (struct ast_channel *chan, const char *num, const char *ints, const char *lang, int audiofd, int ctrlfd) |
| int | ast_say_date (struct ast_channel *chan, time_t t, const char *ints, const char *lang) |
| int | ast_say_date_with_format (struct ast_channel *chan, time_t t, const char *ints, const char *lang, const char *format, const char *timezone) |
| int | ast_say_datetime (struct ast_channel *chan, time_t t, const char *ints, const char *lang) |
| int | ast_say_datetime_from_now (struct ast_channel *chan, time_t t, const char *ints, const char *lang) |
| int | ast_say_digit_str (struct ast_channel *chan, const char *num, const char *ints, const char *lang) |
| int | ast_say_digit_str_full (struct ast_channel *chan, const char *num, const char *ints, const char *lang, int audiofd, int ctrlfd) |
| int | ast_say_digits (struct ast_channel *chan, int num, const char *ints, const char *lang) |
| int | ast_say_digits_full (struct ast_channel *chan, int num, const char *ints, const char *lang, int audiofd, int ctrlfd) |
| int | ast_say_enumeration (struct ast_channel *chan, int num, const char *ints, const char *lang, const char *options) |
| ast_say_enumeration: call language-specific functions without file descriptors | |
| int | ast_say_enumeration_full (struct ast_channel *chan, int num, const char *ints, const char *lang, const char *options, int audiofd, int ctrlfd) |
| ast_say_enumeration_full: call language-specific functions | |
| int | ast_say_number (struct ast_channel *chan, int num, const char *ints, const char *lang, const char *options) |
| ast_say_number: call language-specific functions without file descriptors | |
| int | ast_say_number_full (struct ast_channel *chan, int num, const char *ints, const char *lang, const char *options, int audiofd, int ctrlfd) |
| ast_say_number_full: call language-specific functions | |
| int | ast_say_phonetic_str (struct ast_channel *chan, const char *num, const char *ints, const char *lang) |
| int | ast_say_phonetic_str_full (struct ast_channel *chan, const char *num, const char *ints, const char *lang, int audiofd, int ctrlfd) |
| int | ast_say_time (struct ast_channel *chan, time_t t, const char *ints, const char *lang) |
Definition in file say.h.
|
||||||||||||||||||||
|
Definition at line 132 of file say.c. References ast_say_character_str_full(). Referenced by chanspy_exec(), pbx_builtin_saycharacters(), play_mailbox_owner(), rpt_tele_thread(), and saycharstr(). 00133 {
00134 return ast_say_character_str_full(chan, str, ints, lang, -1, -1);
00135 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 57 of file say.c. References ast_stopstream(), ast_streamfile(), and ast_waitstream_full(). Referenced by ast_say_character_str(), and handle_sayalpha(). 00058 {
00059 const char *fn;
00060 char fnbuf[256];
00061 char ltr;
00062 int num = 0;
00063 int res = 0;
00064
00065 while (str[num]) {
00066 fn = NULL;
00067 switch (str[num]) {
00068 case ('*'):
00069 fn = "digits/star";
00070 break;
00071 case ('#'):
00072 fn = "digits/pound";
00073 break;
00074 case ('!'):
00075 fn = "letters/exclaimation-point";
00076 break;
00077 case ('@'):
00078 fn = "letters/at";
00079 break;
00080 case ('$'):
00081 fn = "letters/dollar";
00082 break;
00083 case ('-'):
00084 fn = "letters/dash";
00085 break;
00086 case ('.'):
00087 fn = "letters/dot";
00088 break;
00089 case ('='):
00090 fn = "letters/equals";
00091 break;
00092 case ('+'):
00093 fn = "letters/plus";
00094 break;
00095 case ('/'):
00096 fn = "letters/slash";
00097 break;
00098 case (' '):
00099 fn = "letters/space";
00100 break;
00101 case ('0'):
00102 case ('1'):
00103 case ('2'):
00104 case ('3'):
00105 case ('4'):
00106 case ('5'):
00107 case ('6'):
00108 case ('7'):
00109 case ('8'):
00110 case ('9'):
00111 strcpy(fnbuf, "digits/X");
00112 fnbuf[7] = str[num];
00113 fn = fnbuf;
00114 break;
00115 default:
00116 ltr = str[num];
00117 if ('A' <= ltr && ltr <= 'Z') ltr += 'a' - 'A'; /* file names are all lower-case */
00118 strcpy(fnbuf, "letters/X");
00119 fnbuf[8] = ltr;
00120 fn = fnbuf;
00121 }
00122 res = ast_streamfile(chan, fn, lang);
00123 if (!res)
00124 res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
00125 ast_stopstream(chan);
00126 num++;
00127 }
00128
00129 return res;
00130 }
|
|
||||||||||||||||||||
|
Definition at line 2725 of file say.c. References ast_say_date_da(), ast_say_date_de(), ast_say_date_en(), ast_say_date_fr(), ast_say_date_gr(), ast_say_date_nl(), and ast_say_date_pt(). Referenced by ast_say_datetime_de(), ast_say_datetime_nl(), ast_say_datetime_pt_BR(), and handle_saydate(). 02726 {
02727 if (!strcasecmp(lang, "en") ) { /* English syntax */
02728 return(ast_say_date_en(chan, t, ints, lang));
02729 } else if (!strcasecmp(lang, "da") ) { /* Danish syntax */
02730 return(ast_say_date_da(chan, t, ints, lang));
02731 } else if (!strcasecmp(lang, "de") ) { /* German syntax */
02732 return(ast_say_date_de(chan, t, ints, lang));
02733 } else if (!strcasecmp(lang, "fr") ) { /* French syntax */
02734 return(ast_say_date_fr(chan, t, ints, lang));
02735 } else if (!strcasecmp(lang, "nl") ) { /* Dutch syntax */
02736 return(ast_say_date_nl(chan, t, ints, lang));
02737 } else if (!strcasecmp(lang, "pt") || !strcasecmp(lang, "pt_BR")) { /* Portuguese syntax */
02738 return(ast_say_date_pt(chan, t, ints, lang));
02739 } else if (!strcasecmp(lang, "gr") ) { /* Greek syntax */
02740 return(ast_say_date_gr(chan, t, ints, lang));
02741 }
02742
02743 /* Default to English */
02744 return(ast_say_date_en(chan, t, ints, lang));
02745 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 2954 of file say.c. References ast_say_date_with_format_da(), ast_say_date_with_format_de(), ast_say_date_with_format_en(), ast_say_date_with_format_es(), ast_say_date_with_format_fr(), ast_say_date_with_format_gr(), ast_say_date_with_format_he(), ast_say_date_with_format_it(), ast_say_date_with_format_nl(), ast_say_date_with_format_pt(), and ast_say_date_with_format_tw(). Referenced by ast_say_date_with_format_da(), ast_say_date_with_format_de(), ast_say_date_with_format_en(), ast_say_date_with_format_es(), ast_say_date_with_format_fr(), ast_say_date_with_format_gr(), ast_say_date_with_format_he(), ast_say_date_with_format_it(), ast_say_date_with_format_nl(), ast_say_date_with_format_pt(), ast_say_date_with_format_tw(), handle_saydatetime(), play_message_datetime(), and sayunixtime_exec(). 02955 {
02956 if (!strcasecmp(lang, "en") ) { /* English syntax */
02957 return(ast_say_date_with_format_en(chan, time, ints, lang, format, timezone));
02958 } else if (!strcasecmp(lang, "da") ) { /* Danish syntax */
02959 return(ast_say_date_with_format_da(chan, time, ints, lang, format, timezone));
02960 } else if (!strcasecmp(lang, "de") ) { /* German syntax */
02961 return(ast_say_date_with_format_de(chan, time, ints, lang, format, timezone));
02962 } else if (!strcasecmp(lang, "es") || !strcasecmp(lang, "mx")) { /* Spanish syntax */
02963 return(ast_say_date_with_format_es(chan, time, ints, lang, format, timezone));
02964 } else if (!strcasecmp(lang, "he")) { /* Hebrew syntax */
02965 return(ast_say_date_with_format_he(chan, time, ints, lang, format, timezone));
02966 } else if (!strcasecmp(lang, "fr") ) { /* French syntax */
02967 return(ast_say_date_with_format_fr(chan, time, ints, lang, format, timezone));
02968 } else if (!strcasecmp(lang, "it") ) { /* Italian syntax */
02969 return(ast_say_date_with_format_it(chan, time, ints, lang, format, timezone));
02970 } else if (!strcasecmp(lang, "nl") ) { /* Dutch syntax */
02971 return(ast_say_date_with_format_nl(chan, time, ints, lang, format, timezone));
02972 } else if (!strcasecmp(lang, "pt") || !strcasecmp(lang, "pt_BR")) { /* Portuguese syntax */
02973 return(ast_say_date_with_format_pt(chan, time, ints, lang, format, timezone));
02974 } else if (!strcasecmp(lang, "tw") ) { /* Taiwanese syntax */
02975 return(ast_say_date_with_format_tw(chan, time, ints, lang, format, timezone));
02976 } else if (!strcasecmp(lang, "gr") ) { /* Greek syntax */
02977 return(ast_say_date_with_format_gr(chan, time, ints, lang, format, timezone));
02978 }
02979
02980 /* Default to English */
02981 return(ast_say_date_with_format_en(chan, time, ints, lang, format, timezone));
02982 }
|
|
||||||||||||||||||||
|
Definition at line 5395 of file say.c. References ast_say_datetime_de(), ast_say_datetime_en(), ast_say_datetime_fr(), ast_say_datetime_gr(), ast_say_datetime_nl(), ast_say_datetime_pt(), ast_say_datetime_pt_BR(), and ast_say_datetime_tw(). Referenced by datetime_exec(). 05396 {
05397 if (!strcasecmp(lang, "en") ) { /* English syntax */
05398 return(ast_say_datetime_en(chan, t, ints, lang));
05399 } else if (!strcasecmp(lang, "de") ) { /* German syntax */
05400 return(ast_say_datetime_de(chan, t, ints, lang));
05401 } else if (!strcasecmp(lang, "fr") ) { /* French syntax */
05402 return(ast_say_datetime_fr(chan, t, ints, lang));
05403 } else if (!strcasecmp(lang, "nl") ) { /* Dutch syntax */
05404 return(ast_say_datetime_nl(chan, t, ints, lang));
05405 } else if (!strcasecmp(lang, "pt") ) { /* Portuguese syntax */
05406 return(ast_say_datetime_pt(chan, t, ints, lang));
05407 } else if (!strcasecmp(lang, "pt_BR") ) { /* Brazilian Portuguese syntax */
05408 return(ast_say_datetime_pt_BR(chan, t, ints, lang));
05409 } else if (!strcasecmp(lang, "tw") ) { /* Taiwanese syntax */
05410 return(ast_say_datetime_tw(chan, t, ints, lang));
05411 } else if (!strcasecmp(lang, "gr") ) { /* Greek syntax */
05412 return(ast_say_datetime_gr(chan, t, ints, lang));
05413 }
05414
05415 /* Default to English */
05416 return(ast_say_datetime_en(chan, t, ints, lang));
05417 }
|
|
||||||||||||||||||||
|
Definition at line 5688 of file say.c. References ast_say_datetime_from_now_en(), ast_say_datetime_from_now_fr(), and ast_say_datetime_from_now_pt(). 05689 {
05690 if (!strcasecmp(lang, "en") ) { /* English syntax */
05691 return(ast_say_datetime_from_now_en(chan, t, ints, lang));
05692 } else if (!strcasecmp(lang, "fr") ) { /* French syntax */
05693 return(ast_say_datetime_from_now_fr(chan, t, ints, lang));
05694 } else if (!strcasecmp(lang, "pt") || !strcasecmp(lang, "pt_BR")) { /* Portuguese syntax */
05695 return(ast_say_datetime_from_now_pt(chan, t, ints, lang));
05696 }
05697
05698 /* Default to English */
05699 return(ast_say_datetime_from_now_en(chan, t, ints, lang));
05700 }
|
|
||||||||||||||||||||
|
Definition at line 262 of file say.c. References ast_say_digit_str_full(). Referenced by invent_message(), mgcp_ss(), pbx_builtin_saydigits(), play_message_callerid(), skinny_ss(), and ss_thread(). 00263 {
00264 return ast_say_digit_str_full(chan, str, ints, lang, -1, -1);
00265 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 216 of file say.c. References ast_stopstream(), ast_streamfile(), and ast_waitstream_full(). Referenced by ast_say_digit_str(), ast_say_digits_full(), and handle_saydigits(). 00217 {
00218 const char *fn;
00219 char fnbuf[256];
00220 int num = 0;
00221 int res = 0;
00222
00223 while (str[num] && !res) {
00224 fn = NULL;
00225 switch (str[num]) {
00226 case ('*'):
00227 fn = "digits/star";
00228 break;
00229 case ('#'):
00230 fn = "digits/pound";
00231 break;
00232 case ('-'):
00233 fn = "digits/minus";
00234 break;
00235 case '0':
00236 case '1':
00237 case '2':
00238 case '3':
00239 case '4':
00240 case '5':
00241 case '6':
00242 case '7':
00243 case '8':
00244 case '9':
00245 strcpy(fnbuf, "digits/X");
00246 fnbuf[7] = str[num];
00247 fn = fnbuf;
00248 break;
00249 }
00250 if (fn) {
00251 res = ast_streamfile(chan, fn, lang);
00252 if (!res)
00253 res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
00254 ast_stopstream(chan);
00255 }
00256 num++;
00257 }
00258
00259 return res;
00260 }
|
|
||||||||||||||||||||
|
Definition at line 275 of file say.c. References ast_say_digits_full(). Referenced by ast_park_call(), chanspy_exec(), conf_exec(), parkandannounce_exec(), and rpt_tele_thread(). 00276 {
00277 return ast_say_digits_full(chan, num, ints, lang, -1, -1);
00278 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 267 of file say.c. References ast_say_digit_str_full(). Referenced by ast_say_digits(), ast_say_enumeration_full_da(), ast_say_enumeration_full_de(), ast_say_number_full_cz(), ast_say_number_full_da(), ast_say_number_full_de(), ast_say_number_full_en(), ast_say_number_full_en_GB(), ast_say_number_full_es(), ast_say_number_full_fr(), ast_say_number_full_he(), ast_say_number_full_it(), ast_say_number_full_nl(), ast_say_number_full_no(), ast_say_number_full_pt(), ast_say_number_full_ru(), ast_say_number_full_se(), and ast_say_number_full_tw(). 00268 {
00269 char fn2[256];
00270
00271 snprintf(fn2, sizeof(fn2), "%d", num);
00272 return ast_say_digit_str_full(chan, fn2, ints, lang, audiofd, ctrlfd);
00273 }
|
|
||||||||||||||||||||||||
|
ast_say_enumeration: call language-specific functions without file descriptors
Definition at line 2295 of file say.c. References ast_say_enumeration_full(). Referenced by ast_say_date_da(), ast_say_date_de(), ast_say_date_with_format_da(), ast_say_date_with_format_de(), and ast_say_date_with_format_en(). 02296 {
02297 return(ast_say_enumeration_full(chan, num, ints, language, options, -1, -1));
02298 }
|
|
||||||||||||||||||||||||||||||||
|
ast_say_enumeration_full: call language-specific functions
Definition at line 2280 of file say.c. References ast_say_enumeration_full_da(), ast_say_enumeration_full_de(), and ast_say_enumeration_full_en(). Referenced by ast_say_enumeration(). 02281 {
02282 if (!strcasecmp(language,"en") ) { /* English syntax */
02283 return(ast_say_enumeration_full_en(chan, num, ints, language, audiofd, ctrlfd));
02284 } else if (!strcasecmp(language, "da") ) { /* Danish syntax */
02285 return(ast_say_enumeration_full_da(chan, num, ints, language, options, audiofd, ctrlfd));
02286 } else if (!strcasecmp(language, "de") ) { /* German syntax */
02287 return(ast_say_enumeration_full_de(chan, num, ints, language, options, audiofd, ctrlfd));
02288 }
02289
02290 /* Default to english */
02291 return(ast_say_enumeration_full_en(chan, num, ints, language, audiofd, ctrlfd));
02292 }
|
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
ast_say_number_full: call language-specific functions
Definition at line 416 of file say.c. References ast_say_number_full_cz(), ast_say_number_full_da(), ast_say_number_full_de(), ast_say_number_full_en(), ast_say_number_full_en_GB(), ast_say_number_full_es(), ast_say_number_full_fr(), ast_say_number_full_gr(), ast_say_number_full_he(), ast_say_number_full_it(), ast_say_number_full_nl(), ast_say_number_full_no(), ast_say_number_full_pl(), ast_say_number_full_pt(), ast_say_number_full_ru(), ast_say_number_full_se(), and ast_say_number_full_tw(). Referenced by ast_say_number(), and handle_saynumber(). 00417 {
00418 if (!strcasecmp(language,"en") ) { /* English syntax */
00419 return(ast_say_number_full_en(chan, num, ints, language, audiofd, ctrlfd));
00420 } else if (!strcasecmp(language, "cz") ) { /* Czech syntax */
00421 return(ast_say_number_full_cz(chan, num, ints, language, options, audiofd, ctrlfd));
00422 } else if (!strcasecmp(language, "da") ) { /* Danish syntax */
00423 return(ast_say_number_full_da(chan, num, ints, language, options, audiofd, ctrlfd));
00424 } else if (!strcasecmp(language, "de") ) { /* German syntax */
00425 return(ast_say_number_full_de(chan, num, ints, language, options, audiofd, ctrlfd));
00426 } else if (!strcasecmp(language, "en_GB") ) { /* British syntax */
00427 return(ast_say_number_full_en_GB(chan, num, ints, language, audiofd, ctrlfd));
00428 } else if (!strcasecmp(language, "no") ) { /* Norwegian syntax */
00429 return(ast_say_number_full_no(chan, num, ints, language, options, audiofd, ctrlfd));
00430 } else if (!strcasecmp(language, "es") || !strcasecmp(language, "mx")) { /* Spanish syntax */
00431 return(ast_say_number_full_es(chan, num, ints, language, options, audiofd, ctrlfd));
00432 } else if (!strcasecmp(language, "fr") ) { /* French syntax */
00433 return(ast_say_number_full_fr(chan, num, ints, language, options, audiofd, ctrlfd));
00434 } else if (!strcasecmp(language, "he") ) { /* Hebrew syntax */
00435 return(ast_say_number_full_he(chan, num, ints, language, options, audiofd, ctrlfd));
00436 } else if (!strcasecmp(language, "it") ) { /* Italian syntax */
00437 return(ast_say_number_full_it(chan, num, ints, language, audiofd, ctrlfd));
00438 } else if (!strcasecmp(language, "nl") ) { /* Dutch syntax */
00439 return(ast_say_number_full_nl(chan, num, ints, language, audiofd, ctrlfd));
00440 } else if (!strcasecmp(language, "pl") ) { /* Polish syntax */
00441 return(ast_say_number_full_pl(chan, num, ints, language, options, audiofd, ctrlfd));
00442 } else if (!strcasecmp(language, "pt") || !strcasecmp(language, "pt_BR")) { /* Portuguese syntax */
00443 return(ast_say_number_full_pt(chan, num, ints, language, options, audiofd, ctrlfd));
00444 } else if (!strcasecmp(language, "se") ) { /* Swedish syntax */
00445 return(ast_say_number_full_se(chan, num, ints, language, options, audiofd, ctrlfd));
00446 } else if (!strcasecmp(language, "tw")) { /* Taiwanese syntax */
00447 return(ast_say_number_full_tw(chan, num, ints, language, audiofd, ctrlfd));
00448 } else if (!strcasecmp(language, "gr") ) { /* Greek syntax */
00449 return(ast_say_number_full_gr(chan, num, ints, language, audiofd, ctrlfd));
00450 } else if (!strcasecmp(language, "ru") ) { /* Russian syntax */
00451 return(ast_say_number_full_ru(chan, num, ints, language, options, audiofd, ctrlfd));
00452 }
00453
00454 /* Default to english */
00455 return(ast_say_number_full_en(chan, num, ints, language, audiofd, ctrlfd));
00456 }
|
|
||||||||||||||||||||
|
Definition at line 211 of file say.c. References ast_say_phonetic_str_full(). Referenced by pbx_builtin_sayphonetic(). 00212 {
00213 return ast_say_phonetic_str_full(chan, str, ints, lang, -1, -1);
00214 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 137 of file say.c. References ast_stopstream(), ast_streamfile(), and ast_waitstream_full(). Referenced by ast_say_phonetic_str(), and handle_sayphonetic(). 00138 {
00139 const char *fn;
00140 char fnbuf[256];
00141 char ltr;
00142 int num = 0;
00143 int res = 0;
00144
00145 while (str[num]) {
00146 fn = NULL;
00147 switch (str[num]) {
00148 case ('*'):
00149 fn = "digits/star";
00150 break;
00151 case ('#'):
00152 fn = "digits/pound";
00153 break;
00154 case ('!'):
00155 fn = "letters/exclaimation-point";
00156 break;
00157 case ('@'):
00158 fn = "letters/at";
00159 break;
00160 case ('$'):
00161 fn = "letters/dollar";
00162 break;
00163 case ('-'):
00164 fn = "letters/dash";
00165 break;
00166 case ('.'):
00167 fn = "letters/dot";
00168 break;
00169 case ('='):
00170 fn = "letters/equals";
00171 break;
00172 case ('+'):
00173 fn = "letters/plus";
00174 break;
00175 case ('/'):
00176 fn = "letters/slash";
00177 break;
00178 case (' '):
00179 fn = "letters/space";
00180 break;
00181 case ('0'):
00182 case ('1'):
00183 case ('2'):
00184 case ('3'):
00185 case ('4'):
00186 case ('5'):
00187 case ('6'):
00188 case ('7'):
00189 case ('8'):
00190 strcpy(fnbuf, "digits/X");
00191 fnbuf[7] = str[num];
00192 fn = fnbuf;
00193 break;
00194 default: /* '9' falls here... */
00195 ltr = str[num];
00196 if ('A' <= ltr && ltr <= 'Z') ltr += 'a' - 'A'; /* file names are all lower-case */
00197 strcpy(fnbuf, "phonetic/X_p");
00198 fnbuf[9] = ltr;
00199 fn = fnbuf;
00200 }
00201 res = ast_streamfile(chan, fn, lang);
00202 if (!res)
00203 res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
00204 ast_stopstream(chan);
00205 num++;
00206 }
00207
00208 return res;
00209 }
|
|
||||||||||||||||||||
|
Definition at line 5176 of file say.c. References ast_say_time_de(), ast_say_time_en(), ast_say_time_fr(), ast_say_time_gr(), ast_say_time_nl(), ast_say_time_pt(), ast_say_time_pt_BR(), and ast_say_time_tw(). Referenced by ast_say_datetime_de(), ast_say_datetime_from_now_en(), ast_say_datetime_from_now_fr(), ast_say_datetime_from_now_pt(), ast_say_datetime_nl(), ast_say_datetime_pt_BR(), handle_saytime(), and rpt_tele_thread(). 05177 {
05178 if (!strcasecmp(lang, "en") ) { /* English syntax */
05179 return(ast_say_time_en(chan, t, ints, lang));
05180 } else if (!strcasecmp(lang, "de") ) { /* German syntax */
05181 return(ast_say_time_de(chan, t, ints, lang));
05182 } else if (!strcasecmp(lang, "fr") ) { /* French syntax */
05183 return(ast_say_time_fr(chan, t, ints, lang));
05184 } else if (!strcasecmp(lang, "nl") ) { /* Dutch syntax */
05185 return(ast_say_time_nl(chan, t, ints, lang));
05186 } else if (!strcasecmp(lang, "pt") ) { /* Portuguese syntax */
05187 return(ast_say_time_pt(chan, t, ints, lang));
05188 } else if (!strcasecmp(lang, "pt_BR") ) { /* Brazilian Portuguese syntax */
05189 return(ast_say_time_pt_BR(chan, t, ints, lang));
05190 } else if (!strcasecmp(lang, "tw") ) { /* Taiwanese syntax */
05191 return(ast_say_time_tw(chan, t, ints, lang));
05192 } else if (!strcasecmp(lang, "gr") ) { /* Greek syntax */
05193 return(ast_say_time_gr(chan, t, ints, lang));
05194 }
05195
05196 /* Default to English */
05197 return(ast_say_time_en(chan, t, ints, lang));
05198 }
|
1.4.2