Merge optimize options patch (bug #3095)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-12-19 22:21:10 +00:00
parent ed2d0a0eb2
commit 245541a8d7

View File

@@ -1140,7 +1140,6 @@ static int is_our_turn(struct queue_ent *qe)
static int wait_our_turn(struct queue_ent *qe, int ringing) static int wait_our_turn(struct queue_ent *qe, int ringing)
{ {
struct queue_ent *ch;
int res = 0; int res = 0;
/* This is the holding pen for callers 2 through maxlen */ /* This is the holding pen for callers 2 through maxlen */
@@ -1288,24 +1287,34 @@ static int try_calling(struct queue_ent *qe, char *options, char *announceoverri
} }
memset(tmp, 0, sizeof(struct localuser)); memset(tmp, 0, sizeof(struct localuser));
tmp->stillgoing = -1; tmp->stillgoing = -1;
if (options) { for (; options && *options; options++)
if (strchr(options, 't')) switch (*options) {
case 't':
ast_set_flag(tmp, QUEUE_FLAG_REDIR_IN); ast_set_flag(tmp, QUEUE_FLAG_REDIR_IN);
if (strchr(options, 'T')) break;
case 'T':
ast_set_flag(tmp, QUEUE_FLAG_REDIR_OUT); ast_set_flag(tmp, QUEUE_FLAG_REDIR_OUT);
if (strchr(options, 'r')) break;
case 'r':
ast_set_flag(tmp, QUEUE_FLAG_RINGBACKONLY); ast_set_flag(tmp, QUEUE_FLAG_RINGBACKONLY);
if (strchr(options, 'm')) break;
case 'm':
ast_set_flag(tmp, QUEUE_FLAG_MUSICONHOLD); ast_set_flag(tmp, QUEUE_FLAG_MUSICONHOLD);
if (strchr(options, 'd')) break;
case 'd':
ast_set_flag(tmp, QUEUE_FLAG_DATAQUALITY); ast_set_flag(tmp, QUEUE_FLAG_DATAQUALITY);
if (strchr(options, 'h')) break;
case 'h':
ast_set_flag(tmp, QUEUE_FLAG_DISCON_IN); ast_set_flag(tmp, QUEUE_FLAG_DISCON_IN);
if (strchr(options, 'H')) break;
case 'H':
ast_set_flag(tmp, QUEUE_FLAG_DISCON_OUT); ast_set_flag(tmp, QUEUE_FLAG_DISCON_OUT);
if ((strchr(options, 'n')) && (now - qe->start >= qe->parent->timeout)) break;
*go_on = 1; case 'n':
} if ((now - qe->start >= qe->parent->timeout))
*go_on = 1;
break;
}
if (option_debug) { if (option_debug) {
if (url) if (url)
ast_log(LOG_DEBUG, "Queue with URL=%s_\n", url); ast_log(LOG_DEBUG, "Queue with URL=%s_\n", url);