From a23b8c91589790b773e044963efe82db9a95dc7b Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Wed, 1 Oct 2008 21:06:26 +0000 Subject: [PATCH] The logic surrounding the return value of ast_spawn_extension within ast_bridge_call was reversed. This problem was observed when a blind transfer placed from the callee channel of a test call failed. While the problem I am solving here is exactly the same as what was reported in issue #13584, the difference is that this fix I am applying is trunk-only. Issue #13584 was reported against the 1.4 branch, and my tests of 1.4's blind transfers appear to work fine. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145553 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/features.c b/main/features.c index 36057c0d2a..e65c519044 100644 --- a/main/features.c +++ b/main/features.c @@ -2379,7 +2379,7 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast ast_copy_string(chan->exten, "h", sizeof(chan->exten)); chan->priority = 1; ast_channel_unlock(chan); - while ((res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num, &found, 1)) == 0) { + while (!(res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num, &found, 1)) == 0) { chan->priority++; } if (found && res)