From 80e89b23a329453e8dda0f3c48053b8fbe4968c1 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 24 Feb 2009 22:36:36 +0100 Subject: [PATCH] optimize output receiver somewhat --- src/plugins/debugger/gdbengine.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 66d4ce19f4..656ade277f 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -554,24 +554,29 @@ void GdbEngine::readGdbStandardError() void GdbEngine::readGdbStandardOutput() { + int newstart = 0; + int scan = m_inbuffer.size(); + m_inbuffer.append(m_gdbProc.readAllStandardOutput()); - int newstart = 0; while (newstart < m_inbuffer.size()) { int start = newstart; - int end = m_inbuffer.indexOf('\n', start); + int end = m_inbuffer.indexOf('\n', scan); if (end < 0) { m_inbuffer.remove(0, start); return; } newstart = end + 1; + scan = newstart; if (end == start) continue; + #ifdef Q_OS_WIN if (m_inbuffer.at(end - 1) == '\r') { --end; if (end == start) continue; } + #endif handleResponse(QByteArray::fromRawData(m_inbuffer.constData() + start, end - start)); } m_inbuffer.clear(); -- 2.11.0