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
17
scp.c
17
scp.c
|
@ -6976,7 +6976,8 @@ void sim_debug_bits(uint32 dbits, DEVICE* dptr, BITFIELD* bitdefs,
|
||||||
uint32 before, uint32 after, int terminate)
|
uint32 before, uint32 after, int terminate)
|
||||||
{
|
{
|
||||||
if (sim_deb && (dptr->dctrl & dbits)) {
|
if (sim_deb && (dptr->dctrl & dbits)) {
|
||||||
fprintf(sim_deb, "%s", sim_debug_prefix(dbits, dptr)); /* print prefix if required */
|
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 */
|
fprint_fields (sim_deb, (t_value)before, (t_value)after, bitdefs); /* print xlation, transition */
|
||||||
if (terminate)
|
if (terminate)
|
||||||
fprintf(sim_deb, "\r\n");
|
fprintf(sim_deb, "\r\n");
|
||||||
|
@ -7051,11 +7052,13 @@ if (sim_deb && (dptr->dctrl & dbits)) {
|
||||||
|
|
||||||
for (i = j = 0; i < len; ++i) {
|
for (i = j = 0; i < len; ++i) {
|
||||||
if ('\n' == buf[i]) {
|
if ('\n' == buf[i]) {
|
||||||
if (i > j) {
|
if (i >= j) {
|
||||||
if (debug_unterm)
|
if ((i != j) || (i == 0)) {
|
||||||
fprintf (sim_deb, "%.*s\r\n", i-j, &buf[j]);
|
if (debug_unterm)
|
||||||
else /* print prefix when required */
|
fprintf (sim_deb, "%.*s\r\n", i-j, &buf[j]);
|
||||||
fprintf (sim_deb, "%s%.*s\r\n", debug_prefix, 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;
|
debug_unterm = 0;
|
||||||
}
|
}
|
||||||
j = i + 1;
|
j = i + 1;
|
||||||
|
@ -7065,7 +7068,7 @@ if (sim_deb && (dptr->dctrl & dbits)) {
|
||||||
if (debug_unterm)
|
if (debug_unterm)
|
||||||
fprintf (sim_deb, "%.*s", i-j, &buf[j]);
|
fprintf (sim_deb, "%.*s", i-j, &buf[j]);
|
||||||
else /* print prefix when required */
|
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 */
|
/* Set unterminated flag for next time */
|
||||||
|
|
Loading…
Add table
Reference in a new issue