1
0
mirror of https://github.com/simh/simh.git synced 2026-01-26 04:01:38 +00:00

SCP: Fix memory debug buffer logic to properly flush and subsequently continue

Flushes happen:
1) when exiting sim_instr()
2) prior to explicitly aborting execution
This commit is contained in:
Mark Pizzolato
2022-07-17 16:58:58 -10:00
parent 7249d55f11
commit 5cbf9df0df
2 changed files with 10 additions and 7 deletions

View File

@@ -2389,10 +2389,11 @@ if (sim_deb_switches & SWMASK ('B')) {
while (sim_debug_buffer_inuse > 0) {
size_t write_size = MIN (sim_deb_buffer_size - offset, sim_debug_buffer_inuse);
size_t written;
fwrite (sim_deb_buffer + offset, 1, write_size, sim_deb);
sim_debug_buffer_inuse -= write_size;
offset += write_size;
written = fwrite (sim_deb_buffer + offset, 1, write_size, sim_deb);
sim_debug_buffer_inuse -= written;
offset += written;
if (offset == sim_deb_buffer_size)
offset = 0;
}
@@ -2403,6 +2404,7 @@ if (sim_deb_switches & SWMASK ('B')) {
sim_close_logfile (&sim_deb_ref);
sim_deb = NULL;
sim_deb_switches = 0;
errno = 0;
return sim_messagef (SCPE_OK, "Debug output disabled\n");
}