Remove some redundant logic from wait_for_answer. This also let's us get rid of one of

those XXX comments from the code.

The redundancy occurs because the 'single' flag implies that the 'r' and 'm' flags are
not set, so there's no need to explicitly check them again.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2008-03-11 15:59:32 +00:00
parent acb73c7448
commit 5176911dfe

View File

@@ -751,19 +751,21 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
ast_debug(1, "Dunno what to do with control type %d\n", f->subclass); ast_debug(1, "Dunno what to do with control type %d\n", f->subclass);
} }
} else if (single) { } else if (single) {
/* XXX are we sure the logic is correct ? or we should just switch on f->frametype ? */ switch (f->frametype) {
if (f->frametype == AST_FRAME_VOICE && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) { case AST_FRAME_VOICE:
if (ast_write(in, f)) case AST_FRAME_IMAGE:
ast_log(LOG_WARNING, "Unable to forward voice frame\n"); case AST_FRAME_TEXT:
} else if (f->frametype == AST_FRAME_IMAGE && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) { if (ast_write(in, f)) {
if (ast_write(in, f)) ast_log(LOG_WARNING, "Unable to write frame\n");
ast_log(LOG_WARNING, "Unable to forward image\n"); }
} else if (f->frametype == AST_FRAME_TEXT && !ast_test_flag64(outgoing, OPT_RINGBACK|OPT_MUSICBACK)) { break;
if (ast_write(in, f)) case AST_FRAME_HTML:
ast_log(LOG_WARNING, "Unable to send text\n"); if (!ast_test_flag64(outgoing, DIAL_NOFORWARDHTML) && ast_channel_sendhtml(in, f->subclass, f->data, f->datalen) == -1) {
} else if (f->frametype == AST_FRAME_HTML && !ast_test_flag64(outgoing, DIAL_NOFORWARDHTML)) { ast_log(LOG_WARNING, "Unable to send URL\n");
if (ast_channel_sendhtml(in, f->subclass, f->data, f->datalen) == -1) }
ast_log(LOG_WARNING, "Unable to send URL\n"); break;
default:
break;
} }
} }
ast_frfree(f); ast_frfree(f);