]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Also remove preamble from asynchronous events (reported by jsmith on #asterisk-dev)
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 22 May 2008 18:53:53 +0000 (18:53 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 22 May 2008 18:53:53 +0000 (18:53 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117899 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c

index e11ee265812f4d688d2c04091fc244d82db3110d..b66b8dd9f3b29a28782e02e3bc3c2837dfbd77fe 100644 (file)
@@ -1765,6 +1765,7 @@ static int ast_el_read_char(EditLine *el, char *cp)
                                return (num_read);
                }
                if (fds[0].revents) {
+                       char *tmp;
                        res = read(ast_consock, buf, sizeof(buf) - 1);
                        /* if the remote side disappears exit */
                        if (res < 1) {
@@ -1798,6 +1799,14 @@ static int ast_el_read_char(EditLine *el, char *cp)
 
                        buf[res] = '\0';
 
+                       /* Strip preamble from asynchronous events, too */
+                       for (tmp = buf; *tmp; tmp++) {
+                               if (*tmp == 127) {
+                                       memmove(tmp, tmp + 1, strlen(tmp));
+                                       tmp--;
+                               }
+                       }
+
                        /* Write over the CLI prompt */
                        if (!ast_opt_exec && !lastpos)
                                write(STDOUT_FILENO, "\r", 1);