summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2005-11-06 22:17:47 +0000
committerRussell Bryant <russell@russellbryant.com>2005-11-06 22:17:47 +0000
commitbb3e125ed4b005bd4d0200d6e8eb7a5a70bd28e4 (patch)
tree961554fee376460f00e2095ce1fd39e7507b5028 /channels
parente4ce764744b53899dec3ec1d8a989b1a11a220e1 (diff)
don't loop forever on an invalid options string (issue #5629)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_agent.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index f886288b8..7cacdb228 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -1658,13 +1658,12 @@ static struct ast_cli_entry cli_agent_logoff = {
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
-/**
- * Log in agent application.
+/*!
+ * \brief Log in agent application.
*
- * @param chan
- * @param data
- * @param callbackmode
- * @returns
+ * \param chan
+ * \param data
+ * \param callbackmode non-zero for AgentCallbackLogin
*/
static int __login_exec(struct ast_channel *chan, void *data, int callbackmode)
{
@@ -1736,10 +1735,9 @@ static int __login_exec(struct ast_channel *chan, void *data, int callbackmode)
context = parse;
}
- while (!ast_strlen_zero(args.options)) {
- if (*args.options == 's') {
+ if (!ast_strlen_zero(args.options)) {
+ if (strchr(args.options, 's')) {
play_announcement = 0;
- break;
}
}