diff options
author | Russell Bryant <russell@russellbryant.com> | 2007-12-07 02:43:21 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2007-12-07 02:43:21 +0000 |
commit | c72fa81580f1cc68852bf6b13bf71963b0930693 (patch) | |
tree | d7476e3098ce3b712e6f7b1e93ae755ac0415f60 | |
parent | 135f315382cbbc23636d2eed09fcd6f4bca3ca8f (diff) |
Merged revisions 91677 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r91677 | russell | 2007-12-06 20:38:40 -0600 (Thu, 06 Dec 2007) | 4 lines
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: https://origsvn.digium.com/svn/asterisk/trunk@91678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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 70a355513..85fab4b89 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1390,7 +1390,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 eb652747d..9b667d69f 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2851,9 +2851,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; |