diff options
author | Mark Michelson <mmichelson@digium.com> | 2008-10-01 21:06:26 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2008-10-01 21:06:26 +0000 |
commit | a23b8c91589790b773e044963efe82db9a95dc7b (patch) | |
tree | 68226e12b5eb5c144ac363a7388c0ddba5dd9fb5 /main | |
parent | 803b6799de521b3357e7bfd393ebf1dee61cace8 (diff) |
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
Diffstat (limited to 'main')
-rw-r--r-- | main/features.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/main/features.c b/main/features.c index 36057c0d2..e65c51904 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) |