Fix broken call pickup

The find_channel_by_group callback was only looking at the channel that was
attempting to make the pickup instead of the other channels in the container.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jeff Peeler 2009-08-04 15:35:49 +00:00
parent be44f938c3
commit b0f0110b16
1 changed files with 2 additions and 2 deletions

View File

@ -4630,13 +4630,13 @@ static int find_channel_by_group(void *obj, void *arg, void *data, int flags)
struct ast_channel *c = data;
struct ast_channel *chan = obj;
int i = !c->pbx &&
int i = !chan->pbx &&
/* Accessing 'chan' here is safe without locking, because there is no way for
the channel do disappear from under us at this point. pickupgroup *could*
change while we're here, but that isn't a problem. */
(c != chan) &&
(chan->pickupgroup & c->callgroup) &&
((c->_state == AST_STATE_RINGING) || (c->_state == AST_STATE_RING));
((chan->_state == AST_STATE_RINGING) || (chan->_state == AST_STATE_RING));
return i ? CMP_MATCH | CMP_STOP : 0;
}