diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-01-12 18:13:50 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-01-12 18:13:50 +0000 |
commit | 451d1a2d55b2e5efcbb7bd34b76972a447d59734 (patch) | |
tree | 65d82af7a9fd4f6ddf5cd7f534b39a140e2b08d2 /main | |
parent | 9b1dfc49c666f0186333f9d74db3f10e275b0700 (diff) |
Exit from session loop upon error (ie: they disconnected) and don't do any buffer manipulation in do_message. get_input will handle it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@50629 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/manager.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/main/manager.c b/main/manager.c index 53b34dd19..88d8e26e2 100644 --- a/main/manager.c +++ b/main/manager.c @@ -2139,10 +2139,6 @@ static int do_message(struct mansession *s) if (res == 0) { continue; } else if (res > 0) { - /* Strip trailing \r\n */ - if (strlen(header_buf) < 2) - continue; - header_buf[strlen(header_buf) - 2] = '\0'; if (ast_strlen_zero(header_buf)) return process_message(s, &m) ? -1 : 0; else if (m.hdrcount < (AST_MAX_MANHEADERS - 1)) @@ -2200,8 +2196,7 @@ static void *session_do(void *data) ast_mutex_unlock(&s->__lock); for (;;) { res = do_message(s); - - if (process_events(s)) + if ((res < 0) || (process_events(s))) break; } /* session is over, explain why and terminate */ |