[asterisk-commits] mmichelson: branch 1.6.1 r145609 - in /branches/1.6.1: ./ main/features.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Oct 1 17:24:53 CDT 2008
Author: mmichelson
Date: Wed Oct 1 17:24:52 2008
New Revision: 145609
URL: http://svn.digium.com/view/asterisk?view=rev&rev=145609
Log:
Merged revisions 145606 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r145606 | mmichelson | 2008-10-01 17:23:50 -0500 (Wed, 01 Oct 2008) | 11 lines
Okay, this should really do it now. While I did manage
to fix blind transfers with my last commit here, I also
caused an unwanted side-effect. That is, only the first
priority of the 'h' extension would be executed when
a blind transfer occurred instead of all priorities.
Essentially, my last commit corrected the return value
of ast_bridge_call. However, the implementation still
was not 100% correct. Now it is.
........
Modified:
branches/1.6.1/ (props changed)
branches/1.6.1/main/features.c
Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.1/main/features.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.1/main/features.c?view=diff&rev=145609&r1=145608&r2=145609
==============================================================================
--- branches/1.6.1/main/features.c (original)
+++ branches/1.6.1/main/features.c Wed Oct 1 17:24:52 2008
@@ -2379,14 +2379,15 @@
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))) {
+ while ((res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num, &found, 1)) == 0) {
chan->priority++;
}
- if (found && res)
- {
+ if (found && res) {
/* Something bad happened, or a hangup has been requested. */
ast_debug(1, "Spawn extension (%s,%s,%d) exited non-zero on '%s'\n", chan->context, chan->exten, chan->priority, chan->name);
ast_verb(2, "Spawn extension (%s, %s, %d) exited non-zero on '%s'\n", chan->context, chan->exten, chan->priority, chan->name);
+ } else if (!found && res) {
+ res = 0;
}
/* swap it back */
ast_channel_lock(chan);
More information about the asterisk-commits
mailing list