nemiver r779 - in trunk: . src/dbgengine
- From: dodji svn gnome org
- To: svn-commits-list gnome org
- Subject: nemiver r779 - in trunk: . src/dbgengine
- Date: Mon, 24 Mar 2008 19:51:48 +0000 (GMT)
Author: dodji
Date: Mon Mar 24 19:51:48 2008
New Revision: 779
URL: http://svn.gnome.org/viewvc/nemiver?rev=779&view=rev
Log:
Fix a gdb output buffer management bug
* src/dbgengine/nmv-gdb-engine.cc: fix an annoying packet buffer
management buffer that lead to some random errors when
GDBEngine receives large gdb output in chunk.
Modified:
trunk/ChangeLog
trunk/src/dbgengine/nmv-gdb-engine.cc
Modified: trunk/src/dbgengine/nmv-gdb-engine.cc
==============================================================================
--- trunk/src/dbgengine/nmv-gdb-engine.cc (original)
+++ trunk/src/dbgengine/nmv-gdb-engine.cc Mon Mar 24 19:51:48 2008
@@ -652,7 +652,7 @@
NEMIVER_TRY
if ((a_cond & Glib::IO_IN) || (a_cond & Glib::IO_PRI)) {
- gsize nb_read (0), CHUNK_SIZE(512);
+ gsize nb_read (0), CHUNK_SIZE(10*1024);
char buf[CHUNK_SIZE+1];
Glib::IOStatus status (Glib::IO_STATUS_NORMAL);
UString meaningful_buffer;
@@ -664,8 +664,6 @@
std::string raw_str(buf, nb_read);
UString tmp = Glib::locale_to_utf8 (raw_str);
gdb_stdout_buffer.append (tmp);
-
-
} else {
break;
}
@@ -674,9 +672,9 @@
LOG_DD ("gdb_stdout_buffer: <buf>" << gdb_stdout_buffer << "</buf>");
UString::size_type i=0;
- while ((i = gdb_stdout_buffer.raw ().find ("(gdb)")) !=
+ while ((i = gdb_stdout_buffer.raw ().find ("\n(gdb)")) !=
std::string::npos) {
- i += 4;/*is the offset in the buffer of the end of
+ i += 6;/*is the offset in the buffer of the end of
*of the '(gdb)' prompt
*/
int size = i+1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]