]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 47641 via svnmerge from
authorKevin P. Fleming <kpfleming@digium.com>
Wed, 15 Nov 2006 00:19:35 +0000 (00:19 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Wed, 15 Nov 2006 00:19:35 +0000 (00:19 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47641 | kpfleming | 2006-11-14 18:19:05 -0600 (Tue, 14 Nov 2006) | 2 lines

more formatting cleanup, and avoid running off the end of the string

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47642 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/term.c

index bdafa49e2035d7b8c01d46f20525b8f5b10651df..940396ee366c3729531d066427f337ed5e6af7c5 100644 (file)
@@ -266,28 +266,26 @@ char *term_prompt(char *outbuf, const char *inbuf, int maxout)
 
 /* filter escape sequences */
 void term_filter_escapes(char *line)
- {
-        int i;
-   
-        for (i = 0; i < strlen(line); i++) {
+{
+       int i;
+       int len = strlen(line);
+
+       for (i = 0; i < len; i++) {
                if (line[i] != ESC)
                        continue;
-               if (line[i + 1] == '\x5b') {
+               if ((i < (len - 2)) &&
+                   (line[i + 1] == 0x5B)) {
                        switch (line[i + 2]) {
-                       case '\x30':
-                       case '\x31':
-                       case '\x33':
-                               break;
-                       default:
-                               /* replace ESC with a space */
-                               line[i] = ' ';
+                       case 0x30:
+                       case 0x31:
+                       case 0x33:
+                               continue;
                        }
-               } else {
-                       /* replace ESC with a space */
-                       line[i] = ' ';
                }
-        }
- }
+               /* replace ESC with a space */
+               line[i] = ' ';
+       }
+}
 
 char *term_prep(void)
 {