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.
This commit is contained in:
Joel Brobecker 2014-06-06 11:28:27 -04:00
parent d190df30a1
commit 0e58ee40a2
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-06-10 Joel Brobecker <brobecker@adacore.com>
* 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 <brobecker@adacore.com>
* gdbtypes (resolve_dynamic_range): Add function description.

View File

@ -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);