Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv17022/apps

Modified Files:
        app_voicemail.c 
Log Message:
clean up and reorganize vm_intro_it (bug #4683, with formatting changes)


Index: app_voicemail.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v
retrieving revision 1.226
retrieving revision 1.227
diff -u -d -r1.226 -r1.227
--- app_voicemail.c     12 Jul 2005 02:57:50 -0000      1.226
+++ app_voicemail.c     12 Jul 2005 15:10:31 -0000      1.227
@@ -3708,56 +3708,38 @@
 }
 
 /* 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 */

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to