while (!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
while (!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
} else if (num < 1000) {
hundered = num / 100;
if ( hundered == 1 ) {
- snprintf(fn, sizeof(fn), "digits/1sto");
+ ast_copy_string(fn, "digits/1sto", sizeof(fn));
} else if ( hundered == 2 ) {
- snprintf(fn, sizeof(fn), "digits/2ste");
+ ast_copy_string(fn, "digits/2ste", sizeof(fn));
} else {
res = ast_say_number_full_cz(chan,hundered,ints,language,options,audiofd,ctrlfd);
if (res)
return res;
if (hundered == 3 || hundered == 4) {
- snprintf(fn, sizeof(fn), "digits/sta");
+ ast_copy_string(fn, "digits/sta", sizeof(fn));
} else if ( hundered > 4 ) {
- snprintf(fn, sizeof(fn), "digits/set");
+ ast_copy_string(fn, "digits/set", sizeof(fn));
}
}
num -= (hundered * 100);
* four-and thirty" and 1000012 is "one million and twelve".
*/
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (playa) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
playa = 0;
} else if (num == 1 && cn == -1) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
num = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
if (num < 1000) {
int hundreds = num / 100;
if (hundreds == 1)
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
else
snprintf(fn, sizeof(fn), "digits/%d", (num / 100));
if (res)
return res;
num = num % 1000;
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
} else {
if (num < 1000000000) {
int millions = num / 1000000;
if (res)
return res;
if (millions == 1)
- snprintf(fn, sizeof(fn), "digits/million");
+ ast_copy_string(fn, "digits/million", sizeof(fn));
else
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
num = num % 1000000;
} else {
ast_debug(1, "Number '%d' is too big for me\n", num);
* - "million" is different in singular and plural form
*/
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (num < 100 && t) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
t = 0;
} else if (num == 1 && mf == -1) {
snprintf(fn, sizeof(fn), "digits/%dF", num);
num = 0;
}
} else if (num == 100 && t == 0) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
num = 0;
} else if (num < 1000) {
int hundreds = num / 100;
num = num % 100;
if (hundreds == 1) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/%d", hundreds);
}
- snprintf(fna, sizeof(fna), "digits/hundred");
+ ast_copy_string(fna, "digits/hundred", sizeof(fna));
t = 1;
} else if (num == 1000 && t == 0) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
num = 0;
} else if (num < 1000000) {
int thousands = num / 1000;
num = num % 1000;
t = 1;
if (thousands == 1) {
- snprintf(fn, sizeof(fn), "digits/1N");
- snprintf(fna, sizeof(fna), "digits/thousand");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
+ ast_copy_string(fna, "digits/thousand", sizeof(fna));
} else {
res = ast_say_number_full_de(chan, thousands, ints, language, options, audiofd, ctrlfd);
if (res)
return res;
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
}
} else if (num < 1000000000) {
int millions = num / 1000000;
num = num % 1000000;
t = 1;
if (millions == 1) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/million");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/million", sizeof(fna));
} else {
res = ast_say_number_full_de(chan, millions, ints, language, options, audiofd, ctrlfd);
if (res)
return res;
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
}
} else if (num <= INT_MAX) {
int billions = num / 1000000000;
num = num % 1000000000;
t = 1;
if (billions == 1) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/milliard");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/milliard", sizeof(fna));
} else {
res = ast_say_number_full_de(chan, billions, ints, language, options, audiofd, ctrlfd);
if (res) {
return res;
}
- snprintf(fn, sizeof(fn), "digits/milliards");
+ ast_copy_string(fn, "digits/milliards", sizeof(fn));
}
} else {
ast_debug(1, "Number '%d' is too big for me\n", num);
while (!res && (num || playh || playa )) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (playa) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
playa = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
res = ast_say_number_full_fr(chan, num / 1000, ints, language, options, audiofd, ctrlfd);
if (res)
return res;
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
num = num % 1000;
} else if (num < 1000000000) {
res = ast_say_number_full_fr(chan, num / 1000000, ints, language, options, audiofd, ctrlfd);
num, state, options, mf
);
if (state==1) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
state = 0;
} else if (state==2) {
- snprintf(fn, sizeof(fn), "digits/ve");
+ ast_copy_string(fn, "digits/ve", sizeof(fn));
state = 0;
} else if (state==3) {
- snprintf(fn, sizeof(fn), "digits/thousands");
+ ast_copy_string(fn, "digits/thousands", sizeof(fn));
state=0;
} else if (num <21) {
if (mf < 0)
num = num % 10;
if (num>0) state=2;
} else if (num < 200) {
- snprintf(fn, sizeof(fn), "digits/1hundred");
+ ast_copy_string(fn, "digits/1hundred", sizeof(fn));
num = num - 100;
state=2;
} else if (num < 300) {
- snprintf(fn, sizeof(fn), "digits/2hundred");
+ ast_copy_string(fn, "digits/2hundred", sizeof(fn));
num = num - 200;
state=2;
} else if (num < 1000) {
state=1;
num = num % 100;
} else if (num < 2000) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
num = num - 1000;
} else if (num < 3000) {
- snprintf(fn, sizeof(fn), "digits/2thousand");
+ ast_copy_string(fn, "digits/2thousand", sizeof(fn));
num = num - 2000;
if (num>0) state=2;
} else if (num < 20000) {
res = ast_say_number_full_he(chan, num / 1000, ints, language, options, audiofd, ctrlfd);
if (res)
return res;
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
num = num % 1000;
} else if (num < 1000000000) {
res = ast_say_number_full_he(chan, num / 1000000, ints, language, options, audiofd, ctrlfd);
if (res)
return res;
- snprintf(fn, sizeof(fn), "digits/million");
+ ast_copy_string(fn, "digits/million", sizeof(fn));
num = num % 1000000;
} else {
ast_debug(1, "Number '%d' is too big for me\n", num);
while (!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
snprintf(fn, sizeof(fn), "digits/%d", (num/100));
playh++;
} else {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
}
num %= 100;
} else {
tempnum = num;
num %= 1000;
if ((tempnum / 1000) < 2)
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
else /* for 1000 it says mille, for >1000 (eg 2000) says mila */
- snprintf(fn, sizeof(fn), "digits/thousands");
+ ast_copy_string(fn, "digits/thousands", sizeof(fn));
} else {
if (num < 1000000000) { /* 1,000,000,000 */
if ((num / 1000000) > 1)
tempnum = num;
num %= 1000000;
if ((tempnum / 1000000) < 2)
- snprintf(fn, sizeof(fn), "digits/million");
+ ast_copy_string(fn, "digits/million", sizeof(fn));
else
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
} else {
ast_debug(1, "Number '%d' is too big for me\n", num);
res = -1;
return ast_say_digits_full(chan, 0,ints, language, audiofd, ctrlfd);
while (!res && (num || playh )) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
if (res)
return res;
num = num - units;
- snprintf(fn, sizeof(fn), "digits/nl-en");
+ ast_copy_string(fn, "digits/nl-en", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/%d", num - units);
num = 0;
* thirty-four" and 1000012 is "one million and twelve".
*/
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (playa) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
playa = 0;
} else if (num == 1 && cn == -1) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
num = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
} else if (num < 1000) {
int hundreds = num / 100;
if (hundreds == 1)
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
else
snprintf(fn, sizeof(fn), "digits/%d", (num / 100));
while (!res && num ) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = num % 10;
} else if (num < 1000) {
if (num == 100)
- snprintf(fn, sizeof(fn), "digits/100");
+ ast_copy_string(fn, "digits/100", sizeof(fn));
else if (num < 200)
- snprintf(fn, sizeof(fn), "digits/100E");
+ ast_copy_string(fn, "digits/100E", sizeof(fn));
else {
if (mf < 0 && num > 199)
snprintf(fn, sizeof(fn), "digits/%dF", (num / 100) * 100);
if (res)
return res;
}
- snprintf(fn, sizeof(fn), "digits/1000");
+ ast_copy_string(fn, "digits/1000", sizeof(fn));
if ((num % 1000) && ((num % 1000) < 100 || !(num % 100)))
playh = 1;
num = num % 1000;
if (res)
return res;
if (num < 2000000)
- snprintf(fn, sizeof(fn), "digits/1000000");
+ ast_copy_string(fn, "digits/1000000", sizeof(fn));
else
- snprintf(fn, sizeof(fn), "digits/1000000S");
+ ast_copy_string(fn, "digits/1000000S", sizeof(fn));
if ((num % 1000000) &&
/* no thousands */
while (!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/%d", num);
snprintf(fn, sizeof(fn), "digits/%d", (num /10) * 10);
num %= 10;
} else if (num == 1 && cn == -1) { /* En eller ett? */
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
num = 0;
} else {
if (num < 1000){
while (!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
playh = 0;
} else if (num < 10) {
snprintf(fn, sizeof(fn), "digits/%d", num);
while (!res && (num)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus");
+ ast_copy_string(fn, "digits/minus", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
if (res)
return res;
if (lastdigits == 1) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
} else if (lastdigits > 1 && lastdigits < 5) {
- snprintf(fn, sizeof(fn), "digits/thousands-i");
+ ast_copy_string(fn, "digits/thousands-i", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/thousands");
+ ast_copy_string(fn, "digits/thousands", sizeof(fn));
}
num %= 1000;
} else if (num < 1000000000) { /* 1,000,000,000 */
if (res)
return res;
if (lastdigits == 1) {
- snprintf(fn, sizeof(fn), "digits/million");
+ ast_copy_string(fn, "digits/million", sizeof(fn));
} else if (lastdigits > 1 && lastdigits < 5) {
- snprintf(fn, sizeof(fn), "digits/million-a");
+ ast_copy_string(fn, "digits/million-a", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
}
num %= 1000000;
} else {
while(!res && (num || playh)) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/lop");
+ ast_copy_string(fn, "digits/lop", sizeof(fn));
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (playh) {
- snprintf(fn, sizeof(fn), "digits/roi");
+ ast_copy_string(fn, "digits/roi", sizeof(fn));
playh = 0;
} else if (num < 100) {
if ((num <= 20) || ((num % 10) == 1)) {
while (!res && num) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus"); /* kind of senseless for enumerations, but our best effort for error checking */
+ ast_copy_string(fn, "digits/minus", sizeof(fn)); /* kind of senseless for enumerations, but our best effort for error checking */
if ( num > INT_MIN ) {
num = -num;
} else {
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fn), "digits/hundred");
+ ast_copy_string(fn, "digits/hundred", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/h-hundred");
+ ast_copy_string(fn, "digits/h-hundred", sizeof(fn));
}
} else if (num < 1000000) {
int thousands = num / 1000;
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/h-thousand");
+ ast_copy_string(fn, "digits/h-thousand", sizeof(fn));
}
t = 1;
} else if (num < 1000000000) {
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fn), "digits/million");
+ ast_copy_string(fn, "digits/million", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/h-million");
+ ast_copy_string(fn, "digits/h-million", sizeof(fn));
}
} else if (num < INT_MAX) {
int billions = num / 1000000000;
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fn), "digits/billion");
+ ast_copy_string(fn, "digits/billion", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/h-billion");
+ ast_copy_string(fn, "digits/h-billion", sizeof(fn));
}
} else if (num == INT_MAX) {
- snprintf(fn, sizeof(fn), "digits/h-last");
+ ast_copy_string(fn, "digits/h-last", sizeof(fn));
num = 0;
} else {
ast_debug(1, "Number '%d' is too big for me\n", num);
while (!res && num) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus"); /* kind of senseless for enumerations, but our best effort for error checking */
+ ast_copy_string(fn, "digits/minus", sizeof(fn)); /* kind of senseless for enumerations, but our best effort for error checking */
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (num < 100 && t) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
t = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/h-%d%s", num, gender);
int hundreds = num / 100;
num = num % 100;
if (hundreds == 1) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/%d", hundreds);
}
if (num) {
- snprintf(fna, sizeof(fna), "digits/hundred");
+ ast_copy_string(fna, "digits/hundred", sizeof(fna));
} else {
snprintf(fna, sizeof(fna), "digits/h-hundred%s", gender);
}
num = num % 1000;
if (thousands == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1N");
- snprintf(fna, sizeof(fna), "digits/thousand");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
+ ast_copy_string(fna, "digits/thousand", sizeof(fna));
} else {
if (t) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-thousand%s", gender);
} else {
snprintf(fn, sizeof(fn), "digits/h-thousand%s", gender);
return res;
}
if (num) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/h-thousand%s", gender);
}
num = num % 1000000;
if (millions == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/million");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/million", sizeof(fna));
} else {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-million%s", gender);
}
} else {
return res;
}
if (num) {
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/h-million%s", gender);
}
num = num % 1000000000;
if (billions == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/milliard");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/milliard", sizeof(fna));
} else {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-milliard%s", gender);
}
} else {
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fna), "digits/milliards");
+ ast_copy_string(fn, "digits/milliards", sizeof(fna));
} else {
snprintf(fn, sizeof(fna), "digits/h-milliard%s", gender);
}
while (!res && num) {
if (num < 0) {
- snprintf(fn, sizeof(fn), "digits/minus"); /* kind of senseless for enumerations, but our best effort for error checking */
+ ast_copy_string(fn, "digits/minus", sizeof(fn)); /* kind of senseless for enumerations, but our best effort for error checking */
if ( num > INT_MIN ) {
num = -num;
} else {
num = 0;
}
} else if (num < 100 && t) {
- snprintf(fn, sizeof(fn), "digits/and");
+ ast_copy_string(fn, "digits/and", sizeof(fn));
t = 0;
} else if (num < 20) {
snprintf(fn, sizeof(fn), "digits/h-%d%s", num, gender);
int hundreds = num / 100;
num = num % 100;
if (hundreds == 1) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/%d", hundreds);
}
if (num) {
- snprintf(fna, sizeof(fna), "digits/hundred");
+ ast_copy_string(fna, "digits/hundred", sizeof(fna));
} else {
snprintf(fna, sizeof(fna), "digits/h-hundred%s", gender);
}
num = num % 1000;
if (thousands == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1N");
- snprintf(fna, sizeof(fna), "digits/thousand");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
+ ast_copy_string(fna, "digits/thousand", sizeof(fna));
} else {
if (t) {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-thousand%s", gender);
} else {
snprintf(fn, sizeof(fn), "digits/h-thousand%s", gender);
return res;
}
if (num) {
- snprintf(fn, sizeof(fn), "digits/thousand");
+ ast_copy_string(fn, "digits/thousand", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/h-thousand%s", gender);
}
num = num % 1000000;
if (millions == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/million");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/million", sizeof(fna));
} else {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-million%s", gender);
}
} else {
return res;
}
if (num) {
- snprintf(fn, sizeof(fn), "digits/millions");
+ ast_copy_string(fn, "digits/millions", sizeof(fn));
} else {
snprintf(fn, sizeof(fn), "digits/h-million%s", gender);
}
num = num % 1000000000;
if (billions == 1) {
if (num) {
- snprintf(fn, sizeof(fn), "digits/1F");
- snprintf(fna, sizeof(fna), "digits/milliard");
+ ast_copy_string(fn, "digits/1F", sizeof(fn));
+ ast_copy_string(fna, "digits/milliard", sizeof(fna));
} else {
- snprintf(fn, sizeof(fn), "digits/1N");
+ ast_copy_string(fn, "digits/1N", sizeof(fn));
snprintf(fna, sizeof(fna), "digits/h-milliard%s", gender);
}
} else {
if (res)
return res;
if (num) {
- snprintf(fn, sizeof(fna), "digits/milliards");
+ ast_copy_string(fn, "digits/milliards", sizeof(fna));
} else {
snprintf(fn, sizeof(fna), "digits/h-milliard%s", gender);
}
if (!res) {
snprintf(fn, sizeof(fn), "digits/day-%d", tm.tm_wday);
res = ast_streamfile(chan, fn, lang);
- snprintf(fn, sizeof(fn), "digits/tee");
+ ast_copy_string(fn, "digits/tee", sizeof(fn));
res = ast_streamfile(chan, fn, lang);
if (!res)
res = ast_waitstream(chan, ints);
if (!res)
res = ast_waitstream(chan, ints);
if (!res) {
- snprintf(fn, sizeof(fn), "digits/duan");
+ ast_copy_string(fn, "digits/duan", sizeof(fn));
res = ast_streamfile(chan, fn, lang);
snprintf(fn, sizeof(fn), "digits/mon-%d", tm.tm_mon);
res = ast_streamfile(chan, fn, lang);
res = ast_waitstream(chan, ints);
}
if (!res){
- snprintf(fn, sizeof(fn), "digits/posor");
+ ast_copy_string(fn, "digits/posor", sizeof(fn));
res = ast_streamfile(chan, fn, lang);
res = ast_say_number(chan, tm.tm_year + 1900, ints, lang, (char *) NULL);
}
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
/* 12-Hour */
res = wait_file(chan,ints,"digits/oclock",lang);
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/24");
+ ast_copy_string(nextmsg, "digits/24", sizeof(nextmsg));
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour);
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'k':
/* 24-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/24");
+ ast_copy_string(nextmsg, "digits/24", sizeof(nextmsg));
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour);
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg, sizeof(nextmsg), "digits/t-12");
+ ast_copy_string(nextmsg, "digits/t-12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg, sizeof(nextmsg), "digits/t-%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg, sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg, sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan, ints, nextmsg, lang);
break;
case 'Q':
case 'l':
/* 12-Hour */
if (tm.tm_hour == 0)
- snprintf(nextmsg,sizeof(nextmsg), "digits/12");
+ ast_copy_string(nextmsg, "digits/12", sizeof(nextmsg));
else if (tm.tm_hour > 12)
snprintf(nextmsg,sizeof(nextmsg), "digits/%d", tm.tm_hour - 12);
else
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
res = ast_waitstream(chan, ints);
}
if (!res){
- snprintf(fn, sizeof(fn), "digits/posor");
+ ast_copy_string(fn, "digits/posor", sizeof(fn));
res = ast_streamfile(chan, fn, lang);
res = ast_say_number(chan, tm.tm_year + 1900 + 543, ints, lang, (char *) NULL);
}
if (!hour)
hour = 24;
if (!res){
- snprintf(fn, sizeof(fn), "digits/wela");
+ ast_copy_string(fn, "digits/wela", sizeof(fn));
res = ast_streamfile(chan, fn, lang);
}
if (!res)
} /* Otherwise, it was today */
if (!strcasecmp(lang, "pt_BR")) {
if (tm.tm_hour > 1) {
- snprintf(fn, sizeof(fn), "digits/pt-as");
+ ast_copy_string(fn, "digits/pt-as", sizeof(fn));
} else {
- snprintf(fn, sizeof(fn), "digits/pt-a");
+ ast_copy_string(fn, "digits/pt-a", sizeof(fn));
}
if (!res)
res = wait_file(chan, ints, fn, lang);
} else {
- snprintf(fn, sizeof(fn), "digits/pt-ah");
+ ast_copy_string(fn, "digits/pt-ah", sizeof(fn));
if (!res)
res = wait_file(chan, ints, fn, lang);
if (tm.tm_hour != 1)
if (!num) {
- snprintf(fn, sizeof(fn), "digits/0");
+ ast_copy_string(fn, "digits/0", sizeof(fn));
res = ast_streamfile(chan, fn, chan->language);
if (!res)
return ast_waitstream(chan, ints);
case 'p':
/* AM/PM */
if (tm.tm_hour > 11)
- snprintf(nextmsg,sizeof(nextmsg), "digits/p-m");
+ ast_copy_string(nextmsg, "digits/p-m", sizeof(nextmsg));
else
- snprintf(nextmsg,sizeof(nextmsg), "digits/a-m");
+ ast_copy_string(nextmsg, "digits/a-m", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'Q':
break;
case 'S':
/* Seconds */
- snprintf(nextmsg,sizeof(nextmsg), "digits/kai");
+ ast_copy_string(nextmsg, "digits/kai", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
if (!res)
res = ast_say_number_full_gr(chan, tm.tm_sec, ints, lang, -1, -1);
if (!res)
- snprintf(nextmsg,sizeof(nextmsg), "digits/seconds");
+ ast_copy_string(nextmsg, "digits/seconds", sizeof(nextmsg));
res = wait_file(chan,ints,nextmsg,lang);
break;
case 'T':