aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-07-12 15:10:31 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-07-12 15:10:31 +0000
commitbe462a3f0529df7b1d6fe39d6656561304337226 (patch)
tree36527f5d7537997e37841f93e1f76eeb083bcebb
parentb6bb53ac707e12171be53d05e2a5554a7984d23b (diff)
clean up and reorganize vm_intro_it (bug #4683, with formatting changes)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6105 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xapps/app_voicemail.c80
1 files changed, 31 insertions, 49 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 70839fb1c..bbf6cedc5 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3708,56 +3708,38 @@ static int vm_intro_en(struct ast_channel *chan,struct vm_state *vms)
}
/* ITALIAN syntax */
-static int vm_intro_it(struct ast_channel *chan,struct vm_state *vms)
+static int vm_intro_it(struct ast_channel *chan, struct vm_state *vms)
{
- /* Introduce messages they have */
- int res;
- if (!vms->oldmessages && !vms->newmessages) {
- res = ast_play_and_wait(chan, "vm-no");
- if (!res)
- res = ast_play_and_wait(chan, "vm-message");
- } else {
- res = ast_play_and_wait(chan, "vm-youhave");
- }
- if (!res) {
- if (vms->newmessages) {
- if (!res) {
- if ((vms->newmessages == 1)) {
- res = ast_play_and_wait(chan, "digits/un");
- if (!res)
- res = ast_play_and_wait(chan, "vm-message");
- if (!res)
- res = ast_play_and_wait(chan, "vm-nuovo");
- } else {
- res = say_and_wait(chan, vms->newmessages, chan->language);
- if (!res)
- res = ast_play_and_wait(chan, "vm-messages");
- if (!res)
- res = ast_play_and_wait(chan, "vm-nuovi");
- }
- }
- if (vms->oldmessages && !res)
- res = ast_play_and_wait(chan, "vm-and");
- }
- if (vms->oldmessages) {
- if (!res) {
- if (vms->oldmessages == 1) {
- res = ast_play_and_wait(chan, "digits/un");
- if (!res)
- res = ast_play_and_wait(chan, "vm-message");
- if (!res)
- res = ast_play_and_wait(chan, "vm-vecchio");
- } else {
- res = say_and_wait(chan, vms->oldmessages, chan->language);
- if (!res)
- res = ast_play_and_wait(chan, "vm-messages");
- if (!res)
- res = ast_play_and_wait(chan, "vm-vecchi");
- }
- }
- }
- }
- return res;
+ /* Introduce messages they have */
+ int res;
+ if (!vms->oldmessages && !vms->newmessages)
+ res = ast_play_and_wait(chan, "vm-no") ||
+ ast_play_and_wait(chan, "vm-message");
+ else
+ res = ast_play_and_wait(chan, "vm-youhave");
+ if (!res && vms->newmessages) {
+ res = (vms->newmessages == 1) ?
+ ast_play_and_wait(chan, "digits/un") ||
+ ast_play_and_wait(chan, "vm-nuovo") ||
+ ast_play_and_wait(chan, "vm-message") :
+ /* 2 or more new messages */
+ say_and_wait(chan, vms->newmessages, chan->language) ||
+ ast_play_and_wait(chan, "vm-nuovi") ||
+ ast_play_and_wait(chan, "vm-messages");
+ if (!res && vms->oldmessages)
+ res = ast_play_and_wait(chan, "vm-and");
+ }
+ if (!res && vms->oldmessages) {
+ res = (vms->oldmessages == 1) ?
+ ast_play_and_wait(chan, "digits/un") ||
+ ast_play_and_wait(chan, "vm-vecchio") ||
+ ast_play_and_wait(chan, "vm-message") :
+ /* 2 or more old messages */
+ say_and_wait(chan, vms->oldmessages, chan->language) ||
+ ast_play_and_wait(chan, "vm-vecchi") ||
+ ast_play_and_wait(chan, "vm-messages");
+ }
+ return res ? -1 : 0;
}
/* SWEDISH syntax */