diff --git a/scp.c b/scp.c index 3f1153e7..7f39f092 100644 --- a/scp.c +++ b/scp.c @@ -6802,8 +6802,10 @@ fputc ('\n', st); /* start on a new line * if (v >= SCPE_BASE) /* SCP error? */ fputs (sim_error_text (v), st); /* print it from the SCP list */ else { /* VM error */ - fputs (sim_stop_messages [v], st); /* print the VM-specific message */ - + if (sim_stop_messages [v]) + fputs (sim_stop_messages [v], st); /* print the VM-specific message */ + else + fprintf (st, "Unknown %s simulator stop code %d", sim_name, v); if ((sim_vm_fprint_stopped != NULL) && /* if a VM-specific stop handler is defined */ (!sim_vm_fprint_stopped (st, v))) /* call it; if it returned FALSE, */ return; /* we're done */ @@ -6831,7 +6833,6 @@ if ((dptr != NULL) && (dptr->examine != NULL)) { } } fprintf (st, "\n"); -return; } void fprint_stopped (FILE *st, t_stat v) diff --git a/scp.h b/scp.h index 7da85ec8..fa98dd63 100644 --- a/scp.h +++ b/scp.h @@ -147,6 +147,7 @@ const char *sim_dname (DEVICE *dptr); const char *sim_uname (UNIT *dptr); const char *sim_set_uname (UNIT *uptr, const char *uname); t_stat get_yn (const char *ques, t_stat deflt); +char *sim_trim_endspc (char *cptr); int sim_isspace (char c); int sim_islower (char c); int sim_isalpha (char c); @@ -309,7 +310,7 @@ void sim_aio_activate (ACTIVATE_API caller, UNIT *uptr, int32 event_time); extern char sim_name[]; extern DEVICE *sim_devices[]; extern REG *sim_PC; -extern const char *sim_stop_messages[]; +extern const char *sim_stop_messages[SCPE_BASE]; extern t_stat sim_instr (void); extern t_stat sim_load (FILE *ptr, CONST char *cptr, CONST char *fnam, int flag); extern int32 sim_emax;