diff options
Diffstat (limited to 'util/AnsiTerm.cpp')
-rw-r--r-- | util/AnsiTerm.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/util/AnsiTerm.cpp b/util/AnsiTerm.cpp index be94465..750fd52 100644 --- a/util/AnsiTerm.cpp +++ b/util/AnsiTerm.cpp @@ -22,6 +22,8 @@ * 10/17/09 Robert Nelson * - Use GetProcAddress for (Get/Set)ConsoleScreenBufferInfoEx since they * are only available on Vista and beyond. + * 01/27/2015 Andy Cress + * - handle ProcessRM asserts * * Todo: * - Implement soft tabs @@ -1089,6 +1091,7 @@ CAnsiTerm::OutputText(void) if (WriteConsoleW(m_hConsole, &m_OutputBuffer[m_dwOutputCount - 1], 1, &dwWritten, NULL)) { + dbglog("OutputTest: WriteConsoleW error1\n"); assert(dwWritten == 1); } @@ -1102,6 +1105,7 @@ CAnsiTerm::OutputText(void) if (WriteConsoleW(m_hConsole, pwszCurrent, dwPartialCount, &dwWritten, NULL)) { + dbglog("OutputTest: WriteConsoleW error2\n"); assert(dwWritten == dwPartialCount); } else @@ -1530,6 +1534,8 @@ CAnsiTerm::ProcessRIS(void) bool CAnsiTerm::ProcessRM(void) { + bool bret = true; + if (m_bPrivateParameters) { for (int index = 0; index < m_ParameterCount; index++) @@ -1538,7 +1544,8 @@ CAnsiTerm::ProcessRM(void) { case 0: default: - assert(false); + dbglog("ProcessRM: illegal private param %d\n",m_Parameters[index]); + bret = false; break; case DECCKM: m_bCursorKeyMode = false; @@ -1584,11 +1591,13 @@ CAnsiTerm::ProcessRM(void) switch (m_Parameters[index]) { case 20: m_bLineFeedNewLineMode = false; break; // LNM - default: assert(false); break; + default: + dbglog("ProcessRM: illegal public param %d\n",m_Parameters[index]); + bret = false; break; } } } - return true; + return bret; } bool |