@ -288,9 +288,9 @@ static int say_digit_str_full(struct ast_channel *chan, const char *str, const c
\ arg \ b pt - Portuguese
\ arg \ b pt_BR - Portuguese ( Brazil )
\ arg \ b se - Swedish
\ arg \ b tw - Taiwanese / Chinese
\ arg \ b zh - Taiwanese / Chinese
\ arg \ b ru - Russian
\ arg \ b ge - Georgian
\ arg \ b ka - Georgian
\ arg \ b hu - Hungarian
\ par Gender :
@ -330,7 +330,7 @@ static int say_digit_str_full(struct ast_channel *chan, const char *str, const c
/* Forward declarations of language specific variants of ast_say_number_full */
static int ast_say_number_full_en ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_c z ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_c s ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_da ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_de ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_en_GB ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
@ -346,7 +346,7 @@ static int ast_say_number_full_se(struct ast_channel *chan, int num, const char
static int ast_say_number_full_zh ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_gr ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_ru ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_ ge ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_ ka ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_hu ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_th ( struct ast_channel * chan , int num , const char * ints , const char * language , int audiofd , int ctrlfd ) ;
static int ast_say_number_full_ur ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd ) ;
@ -365,7 +365,7 @@ static int ast_say_date_fr(struct ast_channel *chan, time_t t, const char *ints,
static int ast_say_date_nl ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_pt ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_gr ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_hu ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_th ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_date_he ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
@ -392,7 +392,7 @@ static int ast_say_time_pt(struct ast_channel *chan, time_t t, const char *ints,
static int ast_say_time_pt_BR ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_zh ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_gr ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_hu ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_th ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_time_he ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
@ -405,7 +405,7 @@ static int ast_say_datetime_pt(struct ast_channel *chan, time_t t, const char *i
static int ast_say_datetime_pt_BR ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_zh ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_gr ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_hu ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_th ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_he ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
@ -413,7 +413,7 @@ static int ast_say_datetime_he(struct ast_channel *chan, time_t t, const char *i
static int ast_say_datetime_from_now_en ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_from_now_fr ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_from_now_pt ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_from_now_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_from_now_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int ast_say_datetime_from_now_he ( struct ast_channel * chan , time_t t , const char * ints , const char * lang ) ;
static int wait_file ( struct ast_channel * chan , const char * ints , const char * file , const char * lang )
@ -430,52 +430,52 @@ static int wait_file(struct ast_channel *chan, const char *ints, const char *fil
/* Called from AGI */
static int say_number_full ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
{
if ( ! str casecmp( language , " en " ) ) { /* Engl ish syntax */
return ( ast_say_number_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " cz" ) ) { /* Czec h syntax */
return ( ast_say_number_full_cz ( chan , num , ints , language , options, audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " da" ) ) { /* Danis h syntax */
return ( ast_say_number_full_da ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " d e" ) ) { /* German syntax */
return ( ast_say_number_full_de ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " en_GB" ) ) { /* British syntax */
return ( ast_say_number_full_en_GB ( chan , num , ints , language , audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " no" ) ) { /* Norwegian syntax */
return ( ast_say_number_full_no ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " es" ) | | ! strcasecmp ( language , " mx " ) ) { /* Spanis h syntax */
return ( ast_say_number_full_es ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " fr" ) ) { /* French syntax */
return ( ast_say_number_full_f r( chan , num , ints , language , options, audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " he " ) ) { /* Hebrew syntax */
return ( ast_say_number_full_he ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " hu " ) ) { /* Hungarian syntax */
return ( ast_say_number_full_hu ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " it " ) ) { /* Italian syntax */
return ( ast_say_number_full_it ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " nl" ) ) { /* Dutch syntax */
return ( ast_say_number_full_nl ( chan , num , ints , language , audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " pl" ) ) { /* Polis h syntax */
return ( ast_say_number_full_p l( chan , num , ints , language , options, audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " pt" ) | | ! strcasecmp ( language , " pt_BR " ) ) { /* Portuguese syntax */
return ( ast_say_number_full_pt ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " se" ) ) { /* Swed ish syntax */
return ( ast_say_number_full_se ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! strncasecmp ( language , " zh" , 2 ) ) { /* Taiwanese / Chin ese syntax */
return ( ast_say_number_full_zh ( chan , num , ints , language , audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " gr" ) ) { /* Greek syntax */
return ( ast_say_number_full_gr ( chan , num , ints , language , audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " ru" ) ) { /* Russian syntax */
return ( ast_say_number_full_ru ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " th " ) ) { /* Thai syntax */
return ( ast_say_number_full_th ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " ur" ) ) { /* Urdu syntax */
return ( ast_say_number_full_ur ( chan , num , ints , language , options, audiofd, ctrlfd ) ) ;
} else if ( ! str casecmp( language , " ge" ) ) { /* Georgian syntax */
return ( ast_say_number_full_ge ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
if ( ! str n casecmp( language , " en _GB" , 5 ) ) { /* Brit ish syntax */
return ast_say_number_full_en_GB ( chan , num , ints , language , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " en" , 2 ) ) { /* Englis h syntax */
return ast_say_number_full_en ( chan , num , ints , language , audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " cs" , 2 ) ) { /* Czec h syntax */
return ast_say_number_full_cs ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " d a" , 2 ) ) { /* Danish syntax */
return ast_say_number_full_da ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " de" , 2 ) ) { /* German syntax */
return ast_say_number_full_de ( chan , num , ints , language , options, audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " es" , 2 ) ) { /* Spanish syntax */
return ast_say_number_full_es ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " fr" , 2 ) ) { /* Frenc h syntax */
return ast_say_number_full_fr ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " gr" , 2 ) ) { /* Greek syntax */
return ast_say_number_full_g r( chan , num , ints , language , audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " he " , 2 ) ) { /* Hebrew syntax */
return ast_say_number_full_he ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " hu " , 2 ) ) { /* Hungarian syntax */
return ast_say_number_full_hu ( chan , num , ints , language , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " it " , 2 ) ) { /* Italian syntax */
return ast_say_number_full_it ( chan , num , ints , language , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " ka" , 2 ) ) { /* Georgian syntax */
return ast_say_number_full_ka ( chan , num , ints , language , options, audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " nl" , 2 ) ) { /* Dutc h syntax */
return ast_say_number_full_n l( chan , num , ints , language , audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " no" , 2 ) ) { /* Norwegian syntax */
return ast_say_number_full_no ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " pl" , 2 ) ) { /* Pol ish syntax */
return ast_say_number_full_pl ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! strncasecmp ( language , " pt" , 2 ) ) { /* Portugu ese syntax */
return ast_say_number_full_pt ( chan , num , ints , language , options, audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " ru" , 2 ) ) { /* Russian syntax */
return ast_say_number_full_ru ( chan , num , ints , language , options, audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " se" , 2 ) ) { /* Swedish syntax */
return ast_say_number_full_se ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " th " , 2 ) ) { /* Thai syntax */
return ast_say_number_full_th ( chan , num , ints , language , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " zh" , 2 ) ) { /* Taiwanese / Chinese syntax */
return ast_say_number_full_zh ( chan , num , ints , language , audiofd, ctrlfd ) ;
} else if ( ! str n casecmp( language , " ur" , 2 ) ) { /* Urdu syntax */
return ast_say_number_full_ur ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
}
/* Default to english */
return ( ast_say_number_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
return ast_say_number_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ;
}
/*! \brief ast_say_number_full_en: English syntax */
@ -552,7 +552,7 @@ static int exp10_int(int power)
return res ;
}
/*! \brief ast_say_number_full_c z : Czech syntax */
/*! \brief ast_say_number_full_c s : Czech syntax */
/* files needed:
* 1 m , 2 m - gender male
* 1 w , 2 w - gender female
@ -573,7 +573,7 @@ static int exp10_int(int power)
* tousand , milion are gender male , so 1 and 2 is 1 m 2 m
* miliard is gender female , so 1 and 2 is 1 w 2 w
*/
static int ast_say_number_full_c z ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
static int ast_say_number_full_c s ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
{
int res = 0 ;
int playh = 0 ;
@ -616,7 +616,7 @@ static int ast_say_number_full_cz(struct ast_channel *chan, int num, const char
} else if ( hundered = = 2 ) {
ast_copy_string ( fn , " digits/2ste " , sizeof ( fn ) ) ;
} else {
res = ast_say_number_full_cz ( chan , hundered , ints , language , options , audiofd , ctrlfd ) ;
res = ast_say_number_full_cs ( chan , hundered , ints , language , options , audiofd , ctrlfd ) ;
if ( res )
return res ;
if ( hundered = = 3 | | hundered = = 4 ) {
@ -640,7 +640,7 @@ static int ast_say_number_full_cz(struct ast_channel *chan, int num, const char
}
}
if ( left > 1 ) { /* we dont say "one thousand" but only thousand */
res = ast_say_number_full_c z ( chan , left , ints , language , options , audiofd , ctrlfd ) ;
res = ast_say_number_full_c s ( chan , left , ints , language , options , audiofd , ctrlfd ) ;
if ( res )
return res ;
}
@ -2280,10 +2280,7 @@ static int ast_say_number_full_zh(struct ast_channel *chan, int num, const char
playz + + ;
continue ;
}
if ( strcasecmp ( language , " twz " ) = = 0 )
snprintf ( fn , sizeof ( fn ) , " digits/%d " , num ) ;
else
snprintf ( fn , sizeof ( fn ) , " digits/%d " , num ) ;
snprintf ( fn , sizeof ( fn ) , " digits/%d " , num ) ;
num = 0 ;
} else if ( num < 100 ) {
snprintf ( buf , 10 , " %d " , num ) ;
@ -2595,18 +2592,18 @@ static int ast_say_number_full_th(struct ast_channel *chan, int num, const char
/* Called from AGI */
static int say_enumeration_full ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
{
if ( ! str casecmp( language , " en " ) ) { /* English syntax */
return ( ast_say_enumeration_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " da " ) ) { /* Danish syntax */
return ( ast_say_enumeration_full_da ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " de " ) ) { /* German syntax */
return ( ast_say_enumeration_full_de ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
} else if ( ! str casecmp( language , " he " )) { /* Hebrew syntax */
return ( ast_say_enumeration_full_he ( chan , num , ints , language , options , audiofd , ctrlfd ) ) ;
}
if ( ! str n casecmp( language , " en " , 2 ) ) { /* English syntax */
return ast_say_enumeration_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " da " , 2 ) ) { /* Danish syntax */
return ast_say_enumeration_full_da ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " de " , 2 ) ) { /* German syntax */
return ast_say_enumeration_full_de ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
} else if ( ! str n casecmp( language , " he " , 2 ) ) { /* Hebrew syntax */
return ast_say_enumeration_full_he ( chan , num , ints , language , options , audiofd , ctrlfd ) ;
}
/* Default to english */
return ( ast_say_enumeration_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ) ;
return ast_say_enumeration_full_en ( chan , num , ints , language , audiofd , ctrlfd ) ;
}
/*! \brief ast_say_enumeration_full_en: English syntax */
@ -3124,32 +3121,32 @@ static int ast_say_enumeration_full_he(struct ast_channel *chan, int num, const
static int say_date ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
if ( ! str casecmp( lang , " en " ) ) { /* English syntax */
return ( ast_say_date_en ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " da " ) ) { /* Danish syntax */
return ( ast_say_date_da ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " de " ) ) { /* German syntax */
return ( ast_say_date_de ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " fr " ) ) { /* French syntax */
return ( ast_say_date_fr ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " hu" ) ) { /* Hungarian syntax */
return ( ast_say_date_hu ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " nl" ) ) { /* Dutch syntax */
return ( ast_say_date_nl ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " pt" ) | | ! strcasecmp ( lang , " pt_BR " ) ) { /* Portuguese syntax */
return ( ast_say_date_pt ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " gr" ) ) { /* Greek syntax */
return ( ast_say_date_gr ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " th" ) ) { /* Thai syntax */
return ( ast_say_date_th ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " ge" ) ) { /* Georgian syntax */
return ( ast_say_date_ge ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " he" ) ) { /* Hebrew syntax */
return ( ast_say_date_ he ( chan , t , ints , lang ) ) ;
if ( ! str n casecmp( lang , " en " , 2 ) ) { /* English syntax */
return ast_say_date_en ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " da " , 2 ) ) { /* Danish syntax */
return ast_say_date_da ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " de " , 2 ) ) { /* German syntax */
return ast_say_date_de ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " fr " , 2 ) ) { /* French syntax */
return ast_say_date_fr ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " gr" , 2 ) ) { /* Greek syntax */
return ast_say_date_gr ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " he" , 2 ) ) { /* Hebrew syntax */
return ast_say_date_he ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " hu" , 2 ) ) { /* Hungarian syntax */
return ast_say_date_hu ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " ka" , 2 ) ) { /* Georgian syntax */
return ast_say_date_ka ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " nl" , 2 ) ) { /* Dutch syntax */
return ast_say_date_nl ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " pt" , 2 ) ) { /* Portuguese syntax */
return ast_say_date_pt ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " th" , 2 ) ) { /* Thai syntax */
return ast_say_date_ t h( chan , t , ints , lang ) ;
}
/* Default to English */
return ( ast_say_date_en ( chan , t , ints , lang ) ) ;
return ast_say_date_en ( chan , t , ints , lang ) ;
}
/* English syntax */
@ -3469,36 +3466,36 @@ int ast_say_date_he(struct ast_channel *chan, time_t t, const char *ints, const
static int say_date_with_format ( struct ast_channel * chan , time_t t , const char * ints , const char * lang , const char * format , const char * tzone )
{
if ( ! str casecmp( lang , " en " ) ) { /* English syntax */
return ( ast_say_date_with_format_en ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " da " ) ) { /* Danish syntax */
return ( ast_say_date_with_format_da ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " de " ) ) { /* German syntax */
return ( ast_say_date_with_format_de ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " es " ) | | ! strcasecmp ( lang , " mx " ) ) { /* Spanish syntax */
return ( ast_say_date_with_format_es ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " he " )) { /* Hebrew syntax */
return ( ast_say_date_with_format_he ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " fr " )) { /* French syntax */
return ( ast_say_date_with_format_fr ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " it" ) ) { /* Italian syntax */
return ( ast_say_date_with_format_it ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " nl" ) ) { /* Dutch syntax */
return ( ast_say_date_with_format_nl ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " pl" ) ) { /* Polis h syntax */
return ( ast_say_date_with_format_p l( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " p t" ) | | ! strcasecmp ( lang , " pt_BR " ) ) { /* Portuguese syntax */
return ( ast_say_date_with_format_pt ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! strncasecmp ( lang , " zh" , 2 ) ) { /* Taiwanese / Chin ese syntax */
return ( ast_say_date_with_format_zh ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " th " ) ) { /* Thai syntax */
return ( ast_say_date_with_format_th ( chan , t , ints , lang , format , tzone ) ) ;
} else if ( ! str casecmp( lang , " gr" ) ) { /* Greek syntax */
return ( ast_say_date_with_format_gr ( chan , t , ints , lang , format , tzone ) ) ;
if ( ! str n casecmp( lang , " en " , 2 ) ) { /* English syntax */
return ast_say_date_with_format_en ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " da " , 2 ) ) { /* Danish syntax */
return ast_say_date_with_format_da ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " de " , 2 ) ) { /* German syntax */
return ast_say_date_with_format_de ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " es " , 2 ) ) { /* Spanish syntax */
return ast_say_date_with_format_es ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " he " , 2 ) ) { /* Hebrew syntax */
return ast_say_date_with_format_he ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " fr " , 2 ) ) { /* French syntax */
return ast_say_date_with_format_fr ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " gr" , 2 ) ) { /* Greek syntax */
return ast_say_date_with_format_gr ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " it" , 2 ) ) { /* Italian syntax */
return ast_say_date_with_format_it ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " nl" , 2 ) ) { /* Dutc h syntax */
return ast_say_date_with_format_n l( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " p l" , 2 ) ) { /* Polish syntax */
return ast_say_date_with_format_pl ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! strncasecmp ( lang , " pt" , 2 ) ) { /* Portugu ese syntax */
return ast_say_date_with_format_pt ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " th " , 2 ) ) { /* Thai syntax */
return ast_say_date_with_format_th ( chan , t , ints , lang , format , tzone ) ;
} else if ( ! str n casecmp( lang , " zh" , 2 ) ) { /* Taiwanese / Chinese syntax */
return ast_say_date_with_format_zh ( chan , t , ints , lang , format , tzone ) ;
}
/* Default to English */
return ( ast_say_date_with_format_en ( chan , t , ints , lang , format , tzone ) ) ;
return ast_say_date_with_format_en ( chan , t , ints , lang , format , tzone ) ;
}
/* English syntax */
@ -6074,34 +6071,34 @@ int ast_say_date_with_format_zh(struct ast_channel *chan, time_t t, const char *
static int say_time ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
if ( ! strcasecmp ( lang , " en " ) ) { /* English syntax */
return ( ast_say_time_en ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " de " ) ) { /* German syntax */
return ( ast_say_time_de ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " fr " ) ) { /* French syntax */
return ( ast_say_time_fr ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " hu " ) ) { /* Hungarian syntax */
if ( ! strncasecmp ( lang , " en " , 2 ) ) { /* English syntax */
return ast_say_time_en ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " de " , 2 ) ) { /* German syntax */
return ast_say_time_de ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " fr " , 2 ) ) { /* French syntax */
return ast_say_time_fr ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " gr " , 2 ) ) { /* Greek syntax */
return ast_say_time_gr ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " he " , 2 ) ) { /* Hebrew syntax */
return ast_say_time_he ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " hu " , 2 ) ) { /* Hungarian syntax */
return ( ast_say_time_hu ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " nl " ) ) { /* Dutch syntax */
return ( ast_say_time_nl ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " pt " ) ) { /* Portuguese syntax */
return ( ast_say_time_pt ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " pt_BR " ) ) { /* Brazilian Portuguese syntax */
return ( ast_say_time_pt_BR ( chan , t , ints , lang ) ) ;
} else if ( ! strncasecmp ( lang , " zh " , 2 ) ) { /* Taiwanese / Chinese syntax */
return ( ast_say_time_zh ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " gr " ) ) { /* Greek syntax */
return ( ast_say_time_gr ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " th " ) ) {
} else if ( ! strncasecmp ( lang , " ka " , 2 ) ) { /* Georgian syntax */
return ast_say_time_ka ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " nl " , 2 ) ) { /* Dutch syntax */
return ast_say_time_nl ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " pt_BR " , 5 ) ) { /* Brazilian Portuguese syntax */
return ast_say_time_pt_BR ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " pt " , 2 ) ) { /* Portuguese syntax */
return ast_say_time_pt ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " th " , 2 ) ) { /* Thai syntax */
return ( ast_say_time_th ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " ge " ) ) { /* Georgian syntax */
return ( ast_say_time_ge ( chan , t , ints , lang ) ) ;
} else if ( ! strcasecmp ( lang , " he " ) ) { /* Hebrew syntax */
return ( ast_say_time_he ( chan , t , ints , lang ) ) ;
} else if ( ! strncasecmp ( lang , " zh " , 2 ) ) { /* Taiwanese / Chinese syntax */
return ast_say_time_zh ( chan , t , ints , lang ) ;
}
/* Default to English */
return ( ast_say_time_en ( chan , t , ints , lang ) ) ;
return ast_say_time_en ( chan , t , ints , lang ) ;
}
/* English syntax */
@ -6391,34 +6388,34 @@ int ast_say_time_he(struct ast_channel *chan, time_t t, const char *ints, const
}
static int say_datetime ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
if ( ! str casecmp( lang , " en " ) ) { /* English syntax */
return ( ast_say_datetime_en ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " de " ) ) { /* German syntax */
return ( ast_say_datetime_de ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " fr " ) ) { /* French syntax */
return ( ast_say_datetime_fr ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " nl" ) ) { /* Dutch syntax */
return ( ast_say_datetime_nl ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " h u" ) ) { /* Hungarian syntax */
return ( ast_say_datetime_hu ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " pt" ) ) { /* Portuguese syntax */
return ( ast_say_datetime_pt ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " pt_BR" ) ) { /* Brazilian Portuguese syntax */
return ( ast_say_datetime_pt_BR ( chan , t , ints , lang ) ) ;
} else if ( ! strncasecmp ( lang , " zh" , 2 ) ) { /* Taiwanese / Chinese syntax */
return ( ast_say_datetime_zh ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " gr" ) ) { /* Greek syntax */
return ( ast_say_datetime_gr ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " th" ) ) { /* Thai syntax */
return ( ast_say_datetime_th ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " ge" ) ) { /* Georgian syntax */
return ( ast_say_datetime_ge ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " he" ) ) { /* Hebrew syntax */
return ( ast_say_datetime_ he ( chan , t , ints , lang ) ) ;
if ( ! str n casecmp( lang , " en " , 2 ) ) { /* English syntax */
return ast_say_datetime_en ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " de " , 2 ) ) { /* German syntax */
return ast_say_datetime_de ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " fr " , 2 ) ) { /* French syntax */
return ast_say_datetime_fr ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " gr" , 2 ) ) { /* Greek syntax */
return ast_say_datetime_gr ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " h e" , 2 ) ) { /* Hebrew syntax */
return ast_say_datetime_he ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " hu" , 2 ) ) { /* Hungarian syntax */
return ast_say_datetime_hu ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " ka" , 2 ) ) { /* Georgian syntax */
return ast_say_datetime_ka ( chan , t , ints , lang ) ;
} else if ( ! strncasecmp ( lang , " nl" , 2 ) ) { /* Dutch syntax */
return ast_say_datetime_nl ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " pt_BR" , 5 ) ) { /* Brazilian Portuguese syntax */
return ast_say_datetime_pt_BR ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " pt" , 2 ) ) { /* Portuguese syntax */
return ast_say_datetime_pt ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " th" , 2 ) ) { /* Thai syntax */
return ast_say_datetime_th ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " zh" , 2 ) ) { /* Taiwanese / Chinese syntax */
return ast_say_datetime_ z h( chan , t , ints , lang ) ;
}
/* Default to English */
return ( ast_say_datetime_en ( chan , t , ints , lang ) ) ;
return ast_say_datetime_en ( chan , t , ints , lang ) ;
}
/* English syntax */
@ -6828,20 +6825,20 @@ int ast_say_datetime_he(struct ast_channel *chan, time_t t, const char *ints, co
}
static int say_datetime_from_now ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
if ( ! str casecmp( lang , " en " ) ) { /* English syntax */
return ( ast_say_datetime_from_now_en ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " fr " ) ) { /* French syntax */
return ( ast_say_datetime_from_now_fr ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " pt" ) | | ! strcasecmp ( lang , " pt_BR " ) ) { /* Portuguese syntax */
return ( ast_say_datetime_from_now_pt ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " ge" ) ) { /* Georgian syntax */
return ( ast_say_datetime_from_now_ge ( chan , t , ints , lang ) ) ;
} else if ( ! str casecmp( lang , " he" ) ) { /* Georgian syntax */
return ( ast_say_datetime_from_now_he ( chan , t , ints , lang ) ) ;
if ( ! str n casecmp( lang , " en " , 2 ) ) { /* English syntax */
return ast_say_datetime_from_now_en ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " fr " , 2 ) ) { /* French syntax */
return ast_say_datetime_from_now_fr ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " he" , 2 ) ) { /* Hebrew syntax */
return ast_say_datetime_from_now_he ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " ka" , 2 ) ) { /* Georgian syntax */
return ast_say_datetime_from_now_ka ( chan , t , ints , lang ) ;
} else if ( ! str n casecmp( lang , " pt" , 2 ) ) { /* Portuguese syntax */
return ast_say_datetime_from_now_pt ( chan , t , ints , lang ) ;
}
/* Default to English */
return ( ast_say_datetime_from_now_en ( chan , t , ints , lang ) ) ;
return ast_say_datetime_from_now_en ( chan , t , ints , lang ) ;
}
/* English syntax */
@ -7463,7 +7460,7 @@ static int ast_say_date_with_format_gr(struct ast_channel *chan, time_t t, const
To be able to play the sounds , each of the above tokens needs
a corresponding sound file . ( e . g . 200 _ . gsm ) .
*/
static char * ast_translate_number_ ge ( int num , char * res , int res_len )
static char * ast_translate_number_ ka ( int num , char * res , int res_len )
{
char buf [ 256 ] ;
int digit = 0 ;
@ -7490,22 +7487,22 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
if ( num < 40 ) { /* ocda... */
strncat ( res , " 20_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( num - 20 , res , res_len ) ;
return ast_translate_number_ ka ( num - 20 , res , res_len ) ;
}
if ( num < 60 ) { /* ormocda... */
strncat ( res , " 40_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( num - 40 , res , res_len ) ;
return ast_translate_number_ ka ( num - 40 , res , res_len ) ;
}
if ( num < 80 ) { /* samocda... */
strncat ( res , " 60_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( num - 60 , res , res_len ) ;
return ast_translate_number_ ka ( num - 60 , res , res_len ) ;
}
if ( num < 100 ) { /* otxmocda... */
strncat ( res , " 80_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( num - 80 , res , res_len ) ;
return ast_translate_number_ ka ( num - 80 , res , res_len ) ;
}
@ -7520,7 +7517,7 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
} else {
snprintf ( buf , sizeof ( buf ) , " %d_ " , digit * 100 ) ;
strncat ( res , buf , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( remaining , res , res_len ) ;
return ast_translate_number_ ka ( remaining , res , res_len ) ;
}
}
@ -7536,20 +7533,19 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
digit = ( num - remaining ) / 1000 ;
if ( remaining = = 0 ) {
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000 " , res_len - strlen ( res ) - 1 ) ;
return res ;
}
if ( digit = = 1 ) {
strncat ( res , " 1000_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ ge ( remaining , res , res_len ) ;
return ast_translate_number_ ka ( remaining , res , res_len ) ;
}
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ge ( remaining , res , res_len ) ;
return ast_translate_number_ka ( remaining , res , res_len ) ;
}
@ -7564,15 +7560,14 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
digit = ( num - remaining ) / 1000000 ;
if ( remaining = = 0 ) {
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000000 " , res_len - strlen ( res ) - 1 ) ;
return res ;
}
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000000_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ge ( remaining , res , res_len ) ;
return ast_translate_number_ka ( remaining , res , res_len ) ;
}
@ -7587,15 +7582,14 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
digit = ( num - remaining ) / 1000000000 ;
if ( remaining = = 0 ) {
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000000000 " , res_len - strlen ( res ) - 1 ) ;
return res ;
}
ast_translate_number_ ge ( digit , res , res_len ) ;
ast_translate_number_ ka ( digit , res , res_len ) ;
strncat ( res , " 1000000000_ " , res_len - strlen ( res ) - 1 ) ;
return ast_translate_number_ge ( remaining , res , res_len ) ;
return ast_translate_number_ka ( remaining , res , res_len ) ;
}
return res ;
@ -7604,8 +7598,8 @@ static char* ast_translate_number_ge(int num, char* res, int res_len)
/*! \brief ast_say_number_full_ ge : Georgian syntax */
static int ast_say_number_full_ ge ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
/*! \brief ast_say_number_full_ ka : Georgian syntax */
static int ast_say_number_full_ ka ( struct ast_channel * chan , int num , const char * ints , const char * language , const char * options , int audiofd , int ctrlfd )
{
int res = 0 ;
char fn [ 512 ] = " " ;
@ -7616,7 +7610,7 @@ static int ast_say_number_full_ge(struct ast_channel *chan, int num, const char
return ast_say_digits_full ( chan , 0 , ints , language , audiofd , ctrlfd ) ;
ast_translate_number_ ge ( num , fn , 512 ) ;
ast_translate_number_ ka ( num , fn , 512 ) ;
@ -7682,7 +7676,7 @@ tslis
/* Georgian syntax. e.g. "oriatas xuti tslis 5 noemberi". */
static int ast_say_date_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
static int ast_say_date_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
struct timeval when = { t , 0 } ;
struct ast_tm tm ;
@ -7722,7 +7716,7 @@ static int ast_say_date_ge(struct ast_channel *chan, time_t t, const char *ints,
/* Georgian syntax. e.g. "otxi saati da eqvsi tsuti" */
static int ast_say_time_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
static int ast_say_time_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
struct timeval when = { t , 0 } ;
struct ast_tm tm ;
@ -7754,7 +7748,7 @@ static int ast_say_time_ge(struct ast_channel *chan, time_t t, const char *ints,
/* Georgian syntax. Say date, then say time. */
static int ast_say_datetime_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
static int ast_say_datetime_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
struct timeval when = { t , 0 } ;
struct ast_tm tm ;
@ -7772,7 +7766,7 @@ static int ast_say_datetime_ge(struct ast_channel *chan, time_t t, const char *i
/* Georgian syntax */
static int ast_say_datetime_from_now_ ge ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
static int ast_say_datetime_from_now_ ka ( struct ast_channel * chan , time_t t , const char * ints , const char * lang )
{
int res = 0 ;
int daydiff ;
@ -7862,13 +7856,13 @@ int ast_say_counted_noun(struct ast_channel *chan, int num, const char noun[])
char * temp ;
int temp_len ;
const char * ending ;
if ( ! str casecmp( chan - > language , " ru " )) { /* Russian */
if ( ! str n casecmp( chan - > language , " ru " , 2 ) ) { /* Russian */
ending = counted_noun_ending_slavic ( num ) ;
} else if ( ! str casecmp( chan - > language , " ua " )) { /* Ukrainian */
} else if ( ! str n casecmp( chan - > language , " ua " , 2 ) ) { /* Ukrainian */
ending = counted_noun_ending_slavic ( num ) ;
} else if ( ! str casecmp( chan - > language , " pl " )) { /* Polish */
} else if ( ! str n casecmp( chan - > language , " pl " , 2 ) ) { /* Polish */
ending = counted_noun_ending_slavic ( num ) ;
} else { /* English and default */
} else { /* English and default */
ending = counted_noun_ending_en ( num ) ;
}
temp = alloca ( ( temp_len = ( strlen ( noun ) + strlen ( ending ) + 1 ) ) ) ;
@ -7885,7 +7879,7 @@ int ast_say_counted_noun(struct ast_channel *chan, int num, const char noun[])
*/
static const char * counted_adjective_ending_ru ( int num , const char gender [ ] )
{
if ( num < 0 ) {
if ( num < 0 ) {
num * = - 1 ;
}
num % = 100 ; /* never pay attention to more than two digits */
@ -7904,13 +7898,13 @@ int ast_say_counted_adjective(struct ast_channel *chan, int num, const char adje
char * temp ;
int temp_len ;
const char * ending ;
if ( ! str casecmp( chan - > language , " ru " )) { /* Russian */
if ( ! str n casecmp( chan - > language , " ru " , 2 ) ) { /* Russian */
ending = counted_adjective_ending_ru ( num , gender ) ;
} else if ( ! str casecmp( chan - > language , " ua " )) { /* Ukrainian */
} else if ( ! str n casecmp( chan - > language , " ua " , 2 ) ) { /* Ukrainian */
ending = counted_adjective_ending_ru ( num , gender ) ;
} else if ( ! str casecmp( chan - > language , " pl " )) { /* Polish */
} else if ( ! str n casecmp( chan - > language , " pl " , 2 ) ) { /* Polish */
ending = counted_adjective_ending_ru ( num , gender ) ;
} else { /* English and default */
} else { /* English and default */
ending = " " ;
}
temp = alloca ( ( temp_len = ( strlen ( adjective ) + strlen ( ending ) + 1 ) ) ) ;