From 0e58ee40a2cec3c4bf796980fb05f93540e40ec2 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Fri, 6 Jun 2014 11:28:27 -0400 Subject: [PATCH] thinko in serial.c::serial_write debug trace I noticed that, when using 'set debug serial 1', the "write" traces would always be NUL characters: [ w \x00][\x00][\x00][\x00][\x00][etc] This is due to a small thinko in the loop that output each character, where we accidently used the loop boundary instead of the loop index to index the character to be printed. After this patch is applied, the output now becomes: [ w $][v][C][o][n][t][?][#][4][9] gdb/ChangeLog: * serial.c (serial_write): Fix index of character to be printed in call to serial_logchar when serial debug traces are enabled. --- gdb/ChangeLog | 5 +++++ gdb/serial.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3097a31c1ef..61464c82392 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-06-10 Joel Brobecker + + * serial.c (serial_write): Fix index of character to be printed + in call to serial_logchar when serial debug traces are enabled. + 2014-06-10 Joel Brobecker * gdbtypes (resolve_dynamic_range): Add function description. diff --git a/gdb/serial.c b/gdb/serial.c index e780bbe2b82..d4435089d1d 100644 --- a/gdb/serial.c +++ b/gdb/serial.c @@ -423,7 +423,7 @@ serial_write (struct serial *scb, const void *buf, size_t count) for (c = 0; c < count; c++) { fprintf_unfiltered (gdb_stdlog, "["); - serial_logchar (gdb_stdlog, 'w', str[count] & 0xff, 0); + serial_logchar (gdb_stdlog, 'w', str[c] & 0xff, 0); fprintf_unfiltered (gdb_stdlog, "]"); } gdb_flush (gdb_stdlog); -- 2.30.2