SCP: Allow unattached errors to halt with a specific unattached message
This commit is contained in:
parent
4991701ee6
commit
abd756ebad
1 changed files with 10 additions and 3 deletions
13
scp.c
13
scp.c
|
@ -11972,8 +11972,12 @@ do {
|
||||||
(bare_reason != SCPE_STOP) &&
|
(bare_reason != SCPE_STOP) &&
|
||||||
(bare_reason != SCPE_STEP) &&
|
(bare_reason != SCPE_STEP) &&
|
||||||
(bare_reason != SCPE_RUNTIME) &&
|
(bare_reason != SCPE_RUNTIME) &&
|
||||||
(bare_reason != SCPE_EXIT))
|
(bare_reason != SCPE_EXIT)) {
|
||||||
sim_messagef (reason, "\nUnexpected internal error while processing event for %s which returned %d - %s\n", sim_uname (uptr), reason, sim_error_text (reason));
|
if (bare_reason == SCPE_UNATT)
|
||||||
|
sim_messagef (reason, "\nUnexpected I/O error while processing event for %s - %s\n", sim_uname (uptr), sim_error_text (reason));
|
||||||
|
else
|
||||||
|
sim_messagef (reason, "\nUnexpected internal error while processing event for %s which returned %d - %s\n", sim_uname (uptr), reason, sim_error_text (reason));
|
||||||
|
}
|
||||||
} while ((reason == SCPE_OK) &&
|
} while ((reason == SCPE_OK) &&
|
||||||
((sim_interval + sim_interval_catchup) <= 0) &&
|
((sim_interval + sim_interval_catchup) <= 0) &&
|
||||||
(sim_clock_queue != QUEUE_LIST_END) &&
|
(sim_clock_queue != QUEUE_LIST_END) &&
|
||||||
|
@ -13942,10 +13946,13 @@ va_list arglist;
|
||||||
t_bool inhibit_message = (!sim_show_message || (stat & SCPE_NOMESSAGE));
|
t_bool inhibit_message = (!sim_show_message || (stat & SCPE_NOMESSAGE));
|
||||||
char msg_prefix[32] = "";
|
char msg_prefix[32] = "";
|
||||||
size_t prefix_len;
|
size_t prefix_len;
|
||||||
|
t_bool newline_prefix = (*fmt == '\n');
|
||||||
|
|
||||||
if ((stat == SCPE_OK) && (sim_quiet || (sim_switches & SWMASK ('Q'))))
|
if ((stat == SCPE_OK) && (sim_quiet || (sim_switches & SWMASK ('Q'))))
|
||||||
return stat;
|
return stat;
|
||||||
sprintf (msg_prefix, "%%SIM-%s: ", (stat == SCPE_OK) ? "INFO" : "ERROR");
|
if (newline_prefix)
|
||||||
|
++fmt;
|
||||||
|
sprintf (msg_prefix, "%s%%SIM-%s: ", newline_prefix ? (sim_is_running ? "\r\n" : "\n") : "", (stat == SCPE_OK) ? "INFO" : "ERROR");
|
||||||
prefix_len = strlen (msg_prefix);
|
prefix_len = strlen (msg_prefix);
|
||||||
while (1) { /* format passed string, args */
|
while (1) { /* format passed string, args */
|
||||||
va_start (arglist, fmt);
|
va_start (arglist, fmt);
|
||||||
|
|
Loading…
Add table
Reference in a new issue