]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
fix short message issue (bug #2723)
authorRussell Bryant <russell@russellbryant.com>
Tue, 26 Oct 2004 15:22:09 +0000 (15:22 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 26 Oct 2004 15:22:09 +0000 (15:22 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4104 65c4cc65-6c06-0410-ace0-fbb531ad65f3

app.c
apps/app_voicemail.c

diff --git a/app.c b/app.c
index f653aa909b158094d5da103941226f508862f6c3..61cb63cd4cfcf737d053eea2c14b0a380e03f60b 100755 (executable)
--- a/app.c
+++ b/app.c
@@ -706,10 +706,12 @@ int ast_play_and_record(struct ast_channel *chan, char *playfile, char *recordfi
        for (x=0;x<fmtcnt;x++) {
                if (!others[x])
                        break;
-               if (totalsilence)
-                       ast_stream_rewind(others[x], totalsilence-200);
-               else
-                       ast_stream_rewind(others[x], 200);
+               if (res > 0) {
+                       if (totalsilence)
+                               ast_stream_rewind(others[x], totalsilence-200);
+                       else
+                               ast_stream_rewind(others[x], 200);
+               }
                ast_truncstream(others[x]);
                ast_closestream(others[x]);
        }
@@ -718,14 +720,11 @@ int ast_play_and_record(struct ast_channel *chan, char *playfile, char *recordfi
                        ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
                }
        }
-       if (outmsg) {
-               if (outmsg > 1) {
+       if (outmsg > 1) {
                /* Let them know recording is stopped */
-                       ast_streamfile(chan, "auth-thankyou", chan->language);
+               if(!ast_streamfile(chan, "auth-thankyou", chan->language))
                        ast_waitstream(chan, "");
-               }
        }
-
        return res;
 }
 
index f4dad6a7c471ccd0624cc3f1bea5773f5d6f9978..ebd379150f7d23bf72c11dbd6be19ccc1b7e9f59 100755 (executable)
@@ -4657,7 +4657,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
                        cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence);
                        if (cmd == -1)
                        /* User has hung up, no options to give */
-                               return res;
+                               return cmd;
                        if (cmd == '0') {
                                break;
                        } else if (cmd == '*') {
@@ -4752,7 +4752,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
                }
        }
        if (outsidecaller)  
-               ast_play_and_wait(chan, "vm-goodbye");
+               ast_play_and_wait(chan, "vm-goodbye");
        if (cmd == 't')
                cmd = 0;
        return cmd;