SCP: Avoid potential divide by zero when initially displaying the event queue

This commit is contained in:
Mark Pizzolato 2019-03-30 17:38:35 -07:00
parent e7309d947b
commit d022ea42a1

8
scp.c
View file

@ -5971,10 +5971,11 @@ if (sim_clock_queue == QUEUE_LIST_END)
fprintf (st, "%s event queue empty, time = %.0f, executing %s instructios/sec\n",
sim_name, sim_time, sim_fmt_numeric (sim_timer_inst_per_sec ()));
else {
const char *tim;
const char *tim = "";
double inst_per_sec = sim_timer_inst_per_sec ();
fprintf (st, "%s event queue status, time = %.0f, executing %s instructions/sec\n",
sim_name, sim_time, sim_fmt_numeric (sim_timer_inst_per_sec ()));
sim_name, sim_time, sim_fmt_numeric (inst_per_sec));
accum = 0;
for (uptr = sim_clock_queue; uptr != QUEUE_LIST_END; uptr = uptr->next) {
if (uptr == &sim_step_unit)
@ -5990,7 +5991,8 @@ else {
}
else
fprintf (st, " Unknown");
tim = sim_fmt_secs(((accum + uptr->time) / sim_timer_inst_per_sec ()) + (uptr->usecs_remaining / 1000000.0));
if (inst_per_sec != 0.0)
tim = sim_fmt_secs(((accum + uptr->time) / sim_timer_inst_per_sec ()) + (uptr->usecs_remaining / 1000000.0));
if (uptr->usecs_remaining)
fprintf (st, " at %d plus %.0f usecs%s%s%s%s\n", accum + uptr->time, uptr->usecs_remaining,
(*tim) ? " (" : "", tim, (*tim) ? " total)" : "",