From 9250a6d1290fdc21dd21fb43d5bd14532182d0ac Mon Sep 17 00:00:00 2001
From: Luigi Rizzo <rizzo@icir.org>
Date: Sat, 15 Apr 2006 00:53:04 +0000
Subject: [PATCH] applied two of the 3 chunks in #6907, and a similar one
 (replace nested 'if' with '&&') I cannot make sense of the first chunk of the
 proposed patch, i think the original is correct.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 app.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/app.c b/app.c
index bdd76ce849..34209a1646 100644
--- a/app.c
+++ b/app.c
@@ -739,19 +739,13 @@ int ast_play_and_record(struct ast_channel *chan, const char *playfile, const ch
 	for (x=0;x<fmtcnt;x++) {
 		if (!others[x])
 			break;
-		if (res > 0) {
-			if (totalsilence)
-				ast_stream_rewind(others[x], totalsilence-200);
-			else
-				ast_stream_rewind(others[x], 200);
-		}
+		if (res > 0)
+			ast_stream_rewind(others[x], totalsilence ? totalsilence-200 : 200);
 		ast_truncstream(others[x]);
 		ast_closestream(others[x]);
 	}
-	if (rfmt) {
-		if (ast_set_read_format(chan, rfmt)) {
-			ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
-		}
+	if (rfmt && ast_set_read_format(chan, rfmt)) {
+		ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
 	}
 	if (outmsg > 1) {
 		/* Let them know recording is stopped */
@@ -982,17 +976,13 @@ int ast_play_and_prepend(struct ast_channel *chan, char *playfile, char *recordf
 			ast_filedelete(prependfile, sfmt[x]);
 		}
 	}
-	if (rfmt) {
-		if (ast_set_read_format(chan, rfmt)) {
-			ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
-		}
+	if (rfmt && ast_set_read_format(chan, rfmt)) {
+		ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
 	}
-	if (outmsg) {
-		if (outmsg > 1) {
-			/* Let them know it worked */
-			ast_streamfile(chan, "auth-thankyou", chan->language);
-			ast_waitstream(chan, "");
-		}
+	if (outmsg > 1) {
+		/* Let them know it worked */
+		ast_streamfile(chan, "auth-thankyou", chan->language);
+		ast_waitstream(chan, "");
 	}	
 	return res;
 }
-- 
GitLab