From 5279d712d44bd23ff12eb9fd7697e2eaff5eb0dc Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Sun, 16 Dec 2007 09:37:41 +0000 Subject: Don't drop the first character randomly in long listings in the CLI. Reported by: slavon Patches: asterisk-consolerefresh2.diff.txt uploaded by jamesgolovich (license 176) Tested by: eliel (closes issue #9325) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93161 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/asterisk.c b/main/asterisk.c index 67dc361d0..dbc44387d 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1771,7 +1771,8 @@ static int ast_el_read_char(EditLine *el, char *cp) struct pollfd fds[2]; int res; int max; - char buf[512]; +#define EL_BUF_SIZE 512 + char buf[EL_BUF_SIZE]; for (;;) { max = 1; @@ -1833,7 +1834,7 @@ static int ast_el_read_char(EditLine *el, char *cp) if (!ast_opt_exec && !lastpos) write(STDOUT_FILENO, "\r", 1); write(STDOUT_FILENO, buf, res); - if ((buf[res-1] == '\n') || (buf[res-2] == '\n')) { + if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (buf[res-2] == '\n'))) { *cp = CC_REFRESH; return(1); } else -- cgit v1.2.3