diff --git a/src/mod/say/mod_say_en/mod_say_en.c b/src/mod/say/mod_say_en/mod_say_en.c index 49215fedb4..b47c22d7d8 100644 --- a/src/mod/say/mod_say_en/mod_say_en.c +++ b/src/mod/say/mod_say_en/mod_say_en.c @@ -420,7 +420,12 @@ static switch_status_t en_say_money(switch_core_session_t *session, if ((cents = strchr(sbuf, '.'))) { *cents++ = '\0'; } - + + /* If positive sign - skip over" */ + if (sbuf[0] == '+') { + dollars++; + } + /* If negative say "negative" */ if (sbuf[0] == '-') { say_file("negative.wav"); @@ -439,14 +444,20 @@ static switch_status_t en_say_money(switch_core_session_t *session, /* Say "and" */ say_file("and.wav"); - /* Say cents */ - en_say_general_count(session, cents, type, method, args); - if (atoi(cents) == 1) { - say_file("cent.wav"); - } - else { - say_file("cents.wav"); - } + /* Say cents */ + if (cents) { + en_say_general_count(session, cents, type, method, args); + if (atoi(cents) == 1) { + say_file("cent.wav"); + } + else { + say_file("cents.wav"); + } + } + else { + say_file("digits/0.wav"); + say_file("cents.wav"); + } return SWITCH_STATUS_SUCCESS; }