sim_debug: Fixed to produce output when the format string is a bare newline character.
Fixed bitfield output to properly present the prefix when appropriate. This closes issue #62
This commit is contained in:
parent
1a48d85d73
commit
18461f510b
1 changed files with 10 additions and 7 deletions
7
scp.c
7
scp.c
|
@ -6976,6 +6976,7 @@ void sim_debug_bits(uint32 dbits, DEVICE* dptr, BITFIELD* bitdefs,
|
|||
uint32 before, uint32 after, int terminate)
|
||||
{
|
||||
if (sim_deb && (dptr->dctrl & dbits)) {
|
||||
if (!debug_unterm)
|
||||
fprintf(sim_deb, "%s", sim_debug_prefix(dbits, dptr)); /* print prefix if required */
|
||||
fprint_fields (sim_deb, (t_value)before, (t_value)after, bitdefs); /* print xlation, transition */
|
||||
if (terminate)
|
||||
|
@ -7051,11 +7052,13 @@ if (sim_deb && (dptr->dctrl & dbits)) {
|
|||
|
||||
for (i = j = 0; i < len; ++i) {
|
||||
if ('\n' == buf[i]) {
|
||||
if (i > j) {
|
||||
if (i >= j) {
|
||||
if ((i != j) || (i == 0)) {
|
||||
if (debug_unterm)
|
||||
fprintf (sim_deb, "%.*s\r\n", i-j, &buf[j]);
|
||||
else /* print prefix when required */
|
||||
fprintf (sim_deb, "%s%.*s\r\n", debug_prefix, i-j, &buf[j]);
|
||||
}
|
||||
debug_unterm = 0;
|
||||
}
|
||||
j = i + 1;
|
||||
|
@ -7065,7 +7068,7 @@ if (sim_deb && (dptr->dctrl & dbits)) {
|
|||
if (debug_unterm)
|
||||
fprintf (sim_deb, "%.*s", i-j, &buf[j]);
|
||||
else /* print prefix when required */
|
||||
fprintf (sim_deb, "DBG(%.0f)%s> %s %s: %.*s", debug_prefix, i-j, &buf[j]);
|
||||
fprintf (sim_deb, "%s%.*s", debug_prefix, i-j, &buf[j]);
|
||||
}
|
||||
|
||||
/* Set unterminated flag for next time */
|
||||
|
|
Loading…
Add table
Reference in a new issue