|
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.
|