diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-07 02:38:40 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-07 02:38:40 +0000 |
commit | 913d02b6f368e0f1f67ade2bbcc1459dddcbbc98 (patch) | |
tree | aeff0a11071e6bb1723464a4ee0518ff21cf5548 /apps | |
parent | d7c7951e3fa735c6812f72fc3d1136dfe867feb7 (diff) |
Allow dialing local channels from Queue() and Dial() again. There was a slight
flaw in the code to prevent call forwards from looping that caused this problem.
(related to issue #11486)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@91677 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_dial.c | 2 | ||||
-rw-r--r-- | apps/app_queue.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index cc9722e93..b89f52097 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1159,7 +1159,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags } strcpy(di->interface, interface); AST_LIST_INSERT_TAIL(dialed_interfaces, di, list); - } else { + } else if (dialed) { AST_LIST_UNLOCK(dialed_interfaces); ast_log(LOG_WARNING, "Skipping dialing interface '%s' again since it has already been dialed\n", di->interface); fulldial++; diff --git a/apps/app_queue.c b/apps/app_queue.c index 8868e9c57..8606ede2f 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2604,9 +2604,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce } strcpy(di->interface, cur->interface); AST_LIST_INSERT_TAIL(dialed_interfaces, di, list); - } else { - if (di) - ast_log(LOG_DEBUG, "Skipping dialing interface '%s' since it has already been dialed\n", di->interface); + } else if (dialed) { + ast_log(LOG_DEBUG, "Skipping dialing interface '%s' since it has already been dialed\n", di->interface); AST_LIST_UNLOCK(dialed_interfaces); free(tmp); continue; |