From: <at...@us...> - 2007-08-09 21:57:42
|
Revision: 434 http://cadcdev.svn.sourceforge.net/cadcdev/?rev=434&view=rev Author: atani Date: 2007-08-09 14:57:40 -0700 (Thu, 09 Aug 2007) Log Message: ----------- initialize ansiptr in constructor, fixes ansi parsing to not ignore first ESC character Modified Paths: -------------- tiki/src/gl/drawables/console.cpp Modified: tiki/src/gl/drawables/console.cpp =================================================================== --- tiki/src/gl/drawables/console.cpp 2007-08-04 17:39:47 UTC (rev 433) +++ tiki/src/gl/drawables/console.cpp 2007-08-09 21:57:40 UTC (rev 434) @@ -48,6 +48,7 @@ m_autoWrap = true; m_ansi = false; m_autoRefresh = false; + ansiptr = 0; color(GREY,BLACK); clear(); @@ -136,34 +137,34 @@ } if(ansiptr) { - if(ansiptr > 50) { - ansiptr = 0; - } - ansistr[ansiptr++] = buf[i]; - ansistr[ansiptr] = 0; - if(!isdigit(buf[i]) && ((buf[i] != '[') && (buf[i] != ';'))) { - processAnsiString(); - } - } else if(buf[i] == '\x1b' && m_ansi) { - ansistr[0] = buf[i]; - ansiptr = 1; - ansistr[ansiptr] = 0; - } else { - if(buf[i] == '\n') { - m_cursor_y++; - m_cursor_x=0; - continue; - } else if(buf[i] == '\r') { - m_cursor_x = 0; - continue; - } else if(buf[i] == '\b') { - m_cursor_x--; - if(m_cursor_x < 0) m_cursor_x = 0; - continue; - } else if(buf[i] == 12) { // funky old style clearscreen - clear(); - continue; - } + if(ansiptr > 50) { + ansiptr = 0; + } + ansistr[ansiptr++] = buf[i]; + ansistr[ansiptr] = 0; + if(!isdigit(buf[i]) && ((buf[i] != '[') && (buf[i] != ';'))) { + processAnsiString(); + } + } else if(buf[i] == '\x1b' && m_ansi) { + ansistr[0] = buf[i]; + ansiptr = 1; + ansistr[ansiptr] = 0; + } else { + if(buf[i] == '\n') { + m_cursor_y++; + m_cursor_x=0; + continue; + } else if(buf[i] == '\r') { + m_cursor_x = 0; + continue; + } else if(buf[i] == '\b') { + m_cursor_x--; + if(m_cursor_x < 0) m_cursor_x = 0; + continue; + } else if(buf[i] == 12) { // funky old style clearscreen + clear(); + continue; + } assert(m_cursor_x >= 0 && m_cursor_y >= 0 && m_cursor_x < m_cols && m_cursor_y < m_rows); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |