All: Convert from C runtime library perror() to sim_perror so that all messages will arrive in the same place(s).

This commit is contained in:
Mark Pizzolato 2015-04-03 19:56:37 -07:00
parent f2ca388f9c
commit 41978eca80
57 changed files with 94 additions and 88 deletions

View file

@ -347,7 +347,7 @@ if ((temp = getc (hsr_unit.fileref)) == EOF) { /* read char */
sim_printf ("HSR end of file\n");
else return SCPE_OK;
}
else perror ("HSR I/O error");
else sim_perror ("HSR I/O error");
clearerr (hsr_unit.fileref);
return SCPE_IOERR;
}
@ -363,7 +363,7 @@ dev_done = dev_done | INT_HSP; /* set ready */
if ((hsp_unit.flags & UNIT_ATT) == 0) /* attached? */
return IORETURN (hsp_stopioe, SCPE_UNATT);
if (putc (hsp_unit.buf, hsp_unit.fileref) == EOF) { /* write char */
perror ("HSP I/O error"); /* error? */
sim_perror ("HSP I/O error"); /* error? */
clearerr (hsp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -793,7 +793,7 @@ l = fxread (buf, sizeof (uint16), DP_TRKLEN, uptr->fileref);
for ( ; l < DP_TRKLEN; l++)
buf[l] = 0;
if (ferror (uptr->fileref)) {
perror ("DP I/O error");
sim_perror ("DP I/O error");
clearerr (uptr->fileref);
dp_done (1, STA_UNSER);
return SCPE_IOERR;
@ -810,7 +810,7 @@ uint32 da = ((c * dp_tab[dp_ctype].surf) + h) * DP_TRKLEN;
fseek (uptr->fileref, da * sizeof (uint16), SEEK_SET);
fxwrite (buf, sizeof (uint16), DP_TRKLEN, uptr->fileref);
if (ferror (uptr->fileref)) {
perror ("DP I/O error");
sim_perror ("DP I/O error");
clearerr (uptr->fileref);
dp_done (1, STA_UNSER);
return SCPE_IOERR;

View file

@ -398,7 +398,7 @@ else {
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -559,7 +559,7 @@ if (uptr->flags & UNIT_ASC) { /* ASCII? */
}
else c = uptr->buf & 0377; /* no, binary */
if (putc (c, uptr->fileref) == EOF) { /* output byte */
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -689,7 +689,7 @@ else if ((ruptr->flags & UNIT_ATT) && /* TTR attached */
sim_printf ("TTR end of file\n");
else return SCPE_OK;
}
else perror ("TTR I/O error");
else sim_perror ("TTR I/O error");
clearerr (ruptr->fileref);
return SCPE_IOERR;
}
@ -799,7 +799,7 @@ if ((puptr->flags & UNIT_ATT) && /* TTP attached */
}
else p = c; /* untouched */
if (putc (p, puptr->fileref) == EOF) { /* output byte */
perror ("TTP I/O error");
sim_perror ("TTP I/O error");
clearerr (puptr->fileref);
return SCPE_IOERR;
}

View file

@ -295,7 +295,7 @@ if ((uptr->flags & UNIT_ATT) == 0) /* attached? */
fputs (cdr_buf, uptr->fileref); /* write card */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("Card stacker I/O error");
sim_perror ("Card stacker I/O error");
clearerr (uptr->fileref);
if (iochk)
return SCPE_IOERR;
@ -375,7 +375,7 @@ fputs (cdp_buf, uptr->fileref); /* output card */
fputc ('\n', uptr->fileref); /* plus new line */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("Card punch I/O error");
sim_perror ("Card punch I/O error");
clearerr (uptr->fileref);
if (iochk)
return SCPE_IOERR;
@ -413,7 +413,7 @@ if (feof (cdr_unit.fileref)) /* eof? */
return STOP_NOCD;
if (ferror (cdr_unit.fileref)) { /* error? */
ind[IN_READ] = 1;
perror ("Card reader I/O error");
sim_perror ("Card reader I/O error");
clearerr (cdr_unit.fileref);
if (iochk)
return SCPE_IOERR;

View file

@ -246,7 +246,7 @@ if ((lpt_unit.flags & UNIT_ATT) != 0) { /* attached? */
fputs (buf, lpt_unit.fileref); /* print string */
if (ferror (lpt_unit.fileref)) { /* error? */
ind[IN_LPT] = 1;
perror ("Line printer I/O error");
sim_perror ("Line printer I/O error");
clearerr (lpt_unit.fileref);
if (iochk)
return SCPE_IOERR;

View file

@ -227,7 +227,7 @@ switch (cdr_sta) { /* case on state */
if (feof (uptr->fileref)) /* eof? */
return ch6_err_disc (CH_A, U_CDR, CHF_EOF); /* set EOF, disc */
if (ferror (uptr->fileref)) { /* error? */
perror ("CDR I/O error");
sim_perror ("CDR I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR; /* stop */
}
@ -456,7 +456,7 @@ cdp_cbuf[i++] = 0; /* append nul */
fputs (cdp_cbuf, uptr->fileref); /* write card */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("CDP I/O error");
sim_perror ("CDP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -888,7 +888,7 @@ da = DSK_DA (dsk_acc, trk, dtyp); /* get disk address */
sim_fseek (udptr->fileref, da, SEEK_SET); /* read track */
k = sim_fread (dsk_buf, sizeof (t_uint64), dsk_tab[dtyp].wdspt, udptr->fileref);
if (ferror (udptr->fileref)) { /* error? */
perror ("DSK I/O error");
sim_perror ("DSK I/O error");
clearerr (udptr->fileref);
dsk_uend (dsk_ch, DSKS_DSKE);
return SCPE_IOERR;
@ -989,7 +989,7 @@ uint32 da = DSK_DA (dsk_acc, trk, dtyp);
sim_fseek (udptr->fileref, da, SEEK_SET);
sim_fwrite (dsk_buf, sizeof (t_uint64), dsk_tab[dtyp].wdspt, udptr->fileref);
if (ferror (udptr->fileref)) {
perror ("DSK I/O error");
sim_perror ("DSK I/O error");
clearerr (udptr->fileref);
dsk_uend (dsk_ch, DSKS_DSKE);
return SCPE_IOERR;

View file

@ -340,7 +340,7 @@ if (uptr->flags & UNIT_ATT) { /* file? */
fputc ('\n', uptr->fileref); /* append nl */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -1704,7 +1704,7 @@ static t_stat cpu_attach (UNIT *uptr, char *cptr)
return SCPE_ARG;
}
if ((fd = fopen(mapfile, "r")) == NULL) {
perror(mapfile);
sim_perror(mapfile);
return SCPE_OPENERR;
}

View file

@ -662,7 +662,7 @@ static t_stat delete_cmd (int32 flag, char *cptr)
status = remove(gbuf); /* delete the file */
if (status != 0 && errno != ENOENT) /* print message if failed and file exists */
perror(gbuf);
sim_perror(gbuf);
return SCPE_OK;
}

View file

@ -463,7 +463,7 @@ i = fxread (dpxb, sizeof (uint8), DP_NUMBY, uptr->fileref);
for ( ; i < DP_NUMBY; i++) /* fill with 0's */
dpxb[i] = 0;
if (ferror (uptr->fileref)) { /* error? */
perror ("DP I/O error");
sim_perror ("DP I/O error");
clearerr (uptr->fileref);
dp_done (STC_DTE);
return SCPE_IOERR;
@ -479,7 +479,7 @@ for ( ; dp_bptr < DP_NUMBY; dp_bptr++)
dpxb[dp_bptr] = dp_db; /* fill with last */
fxwrite (dpxb, sizeof (uint8), DP_NUMBY, uptr->fileref);
if (ferror (uptr->fileref)) { /* error? */
perror ("DP I/O error");
sim_perror ("DP I/O error");
clearerr (uptr->fileref);
dp_done (STC_DTE);
return SCPE_IOERR;

View file

@ -657,7 +657,7 @@ uint32 i;
i = fxread (idcxb, sizeof (uint8), IDC_NUMBY, uptr->fileref);
if (ferror (uptr->fileref)) { /* error? */
perror ("IDC I/O error");
sim_perror ("IDC I/O error");
clearerr (uptr->fileref);
idc_done (STC_DTE);
return SCPE_IOERR;
@ -675,7 +675,7 @@ for ( ; idc_bptr < IDC_NUMBY; idc_bptr++)
idcxb[idc_bptr] = idc_db; /* fill with last */
fxwrite (idcxb, sizeof (uint8), IDC_NUMBY, uptr->fileref);
if (ferror (uptr->fileref)) { /* error? */
perror ("IDC I/O error");
sim_perror ("IDC I/O error");
clearerr (uptr->fileref);
idc_done (STC_DTE);
return SCPE_IOERR;

View file

@ -185,7 +185,7 @@ if (lpt_spnd || ((t >= LF) && (t < CR))) { /* spc pend or spc op? *
else fputs ("\r", uptr->fileref); /* overprint */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (lpt_unit.fileref)) {
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -217,7 +217,7 @@ if (lpxb[0]) { /* any char left? */
fputs (lpxb, uptr->fileref); /* write line */
lpt_unit.pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) {
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
r = SCPE_IOERR;
}

View file

@ -207,7 +207,7 @@ if ((temp = getc (uptr->fileref)) == EOF) { /* error? */
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -228,7 +228,7 @@ if (!pt_rd) { /* write mode? */
SET_INT (v_PT);
}
if (putc (uptr->buf, uptr -> fileref) == EOF) { /* write char */
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (uptr -> fileref);
return SCPE_IOERR;
}

View file

@ -504,7 +504,7 @@ do {
sim_printf ("Reader end of file\n");
else return SCPE_OK;
}
else perror ("Reader I/O error");
else sim_perror ("Reader I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -519,7 +519,7 @@ do {
sim_printf ("Reader end of file\n");
else return SCPE_OK;
}
else perror ("Reader I/O error");
else sim_perror ("Reader I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -570,7 +570,7 @@ if (c >= 0) /* valid? */
sta = fputc (c, uptr->fileref);
else sta = fprintf (uptr->fileref, "!%02d", flex); /* no, encode */
if (sta == EOF) { /* error? */
perror ("Punch I/O error"); /* error? */
sim_perror ("Punch I/O error"); /* error? */
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -930,7 +930,7 @@ do {
}
if (err != 0) {
perror ("DKP I/O error");
sim_perror ("DKP I/O error");
clearerr (uptr->fileref);
rval = SCPE_IOERR;
break ;

View file

@ -134,7 +134,7 @@ if ((lpt_unit.flags & UNIT_ATT) == 0) /* attached? */
fputc (uptr->buf, uptr->fileref);
uptr->pos = ftell (uptr->fileref);
if (ferror (uptr->fileref)) {
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -139,7 +139,7 @@ DEV_UPDATE_INTR ;
if ((plt_unit.flags & UNIT_ATT) == 0) /* attached? */
return IORETURN (plt_stopioe, SCPE_UNATT);
if (putc (plt_unit.buf, plt_unit.fileref) == EOF) {
perror ("PLT I/O error");
sim_perror ("PLT I/O error");
clearerr (plt_unit.fileref);
return SCPE_IOERR;
}

View file

@ -197,7 +197,7 @@ if ((temp = getc (ptr_unit.fileref)) == EOF) { /* end of file? */
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (ptr_unit.fileref);
return SCPE_IOERR;
}
@ -277,7 +277,7 @@ DEV_UPDATE_INTR ;
if ((ptp_unit.flags & UNIT_ATT) == 0) /* attached? */
return IORETURN (ptp_stopioe, SCPE_UNATT);
if (putc ((ptp_unit.buf & ((ptp_unit.flags & UNIT_8B)? 0377: 0177)), ptp_unit.fileref) == EOF) {
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (ptp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -1112,7 +1112,7 @@ if (uptr->hwmark && ((uptr->flags & UNIT_RO) == 0)) { /* any data? */
else fxwrite (uptr->filebuf, sizeof (uint32), /* write file */
uptr->hwmark, uptr->fileref);
if (ferror (uptr->fileref))
perror ("I/O error");
sim_perror ("I/O error");
} /* end if hwmark */
free (uptr->filebuf); /* release buf */
uptr->flags = uptr->flags & ~UNIT_BUF; /* clear buf flag */

View file

@ -169,7 +169,7 @@ if (lpt_spc) { /* space? */
fputs (lpt_cc[lpt_spc & 07], uptr->fileref); /* print cctl */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -184,7 +184,7 @@ else {
fputs (lpt_buf, uptr->fileref); /* print buffer */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* test error */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -347,7 +347,7 @@ if (temp == EOF) { /* end of file? */
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -510,7 +510,7 @@ dev_req_int (ptp_sbs); /* req interrupt */
if ((uptr->flags & UNIT_ATT) == 0) /* not attached? */
return IORETURN (ptp_stopioe, SCPE_UNATT);
if (putc (uptr->buf, uptr->fileref) == EOF) { /* I/O error? */
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -734,7 +734,7 @@ if (lpbc) /* intr, but not done */
update_lpcs (CSA_MBZ);
else update_lpcs (CSA_DONE); /* intr and done */
if ((fnc == FNC_PR) && ferror (lp20_unit.fileref)) {
perror ("LP I/O error");
sim_perror ("LP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -1024,7 +1024,7 @@ switch (uptr->FUNC) { /* case on function */
if (err != 0) { /* error? */
set_rper (ER1_PAR, drv); /* set drive error */
update_rpcs (CS1_DONE | CS1_TRE, drv); /* set done, err */
perror ("RP I/O error");
sim_perror ("RP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -1222,7 +1222,7 @@ switch (fnc) { /* case on function */
if (err != 0) { /* error? */
hk_err (CS1_ERR|CS1_DONE, 0, ER_PAR, drv); /* set drive error */
perror ("HK I/O error");
sim_perror ("HK I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -167,7 +167,7 @@ if ((uptr->flags & UNIT_ATT) == 0)
fputc (uptr->buf & 0177, uptr->fileref);
uptr->pos = ftell (uptr->fileref);
if (ferror (uptr->fileref)) {
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -245,7 +245,7 @@ if ((temp = getc (ptr_unit.fileref)) == EOF) {
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (ptr_unit.fileref);
return SCPE_IOERR;
}
@ -341,7 +341,7 @@ if (ptp_csr & CSR_IE)
if ((ptp_unit.flags & UNIT_ATT) == 0)
return IORETURN (ptp_stopioe, SCPE_UNATT);
if (putc (ptp_unit.buf, ptp_unit.fileref) == EOF) {
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (ptp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -767,7 +767,7 @@ rkda = (rkda & RKDA_DRIVE) | (track << RKDA_V_TRACK) | (sect << RKDA_V_SECT);
rk_set_done (0);
if (err != 0) { /* error? */
perror ("RK I/O error");
sim_perror ("RK I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -953,7 +953,7 @@ if (GET_SECT (uptr->TRK) >= RL_NUMSC)
rl_set_done (0);
if (err != 0) { /* error? */
perror ("RL I/O error");
sim_perror ("RL I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -1252,7 +1252,7 @@ else { /* Bottom End (After I/O processing) */
rp_set_er (ER1_PAR, drv); /* set drive error */
mba_set_exc (dibp->ba); /* set exception */
rp_update_ds (DS_ATA, drv);
perror ("RP I/O error");
sim_perror ("RP I/O error");
return SCPE_IOERR;
}

View file

@ -1333,7 +1333,7 @@ if (uptr->WRITTEN && uptr->hwmark && ((uptr->flags & UNIT_RO)== 0)) { /* any
fxwrite (uptr->filebuf, sizeof (uint32), /* write file */
uptr->hwmark, uptr->fileref);
if (ferror (uptr->fileref))
perror ("I/O error");
sim_perror ("I/O error");
}
uptr->WRITTEN = FALSE; /* no longer dirty */
}

View file

@ -1497,7 +1497,7 @@ t_stat tq_mot_err (UNIT *uptr, uint32 rsiz)
uptr->flags = (uptr->flags | UNIT_SXC) & ~UNIT_TMK; /* serious exception */
if (tq_dte (uptr, ST_DRV)) /* post err log */
tq_mot_end (uptr, EF_LOG, ST_DRV, rsiz); /* if ok, report err */
perror ("TQ I/O error");
sim_perror ("TQ I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -1528,7 +1528,7 @@ if (uptr->WRITTEN && uptr->hwmark && ((uptr->flags & UNIT_RO)== 0)) { /* any
fxwrite (uptr->filebuf, sizeof (uint32), /* write file */
uptr->hwmark, uptr->fileref);
if (ferror (uptr->fileref))
perror ("I/O error");
sim_perror ("I/O error");
}
uptr->WRITTEN = FALSE; /* no longer dirty */
}

View file

@ -185,7 +185,7 @@ if (lp62_spc) { /* space? */
fputs (lp62_cc[lp62_spc & 07], uptr->fileref); /* print cctl */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -200,7 +200,7 @@ else {
fputs (lp62_buf, uptr->fileref); /* print buffer */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* test error */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -427,7 +427,7 @@ if ((lp647_iot & 020) == 0) { /* print? */
fputs (pbuf, uptr->fileref); /* print buffer */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
lp647_bp = 0;
return SCPE_IOERR;
@ -438,7 +438,7 @@ if (lp647_iot & 060) { /* space? */
fputs (lp647_cc[lp647_iot & 07], uptr->fileref); /* write cctl */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -610,7 +610,7 @@ if ((c == 0) || (c == 0177)) /* skip NULL, DEL */
fputc (c, uptr->fileref); /* print char */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}
@ -824,7 +824,7 @@ for (more = 1; more != 0; ) { /* loop until ctrl */
fputs (ctrl[c[i]], uptr->fileref); /* space */
uptr->pos = ftell (uptr->fileref);
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
lp15_bp = 0;
lp15_updsta (STA_DON | STA_ALM);

View file

@ -432,7 +432,7 @@ rp_busy = 0; /* clear busy */
rp_updsta (STA_DON, 0); /* set done */
if (err != 0) { /* error? */
perror ("RP I/O error");
sim_perror ("RP I/O error");
clearerr (uptr->fileref);
return IORETURN (rp_stopioe, SCPE_IOERR);
}

View file

@ -576,7 +576,7 @@ if ((temp = getc (ptr_unit.fileref)) == EOF) { /* end of file? */
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error");
else sim_perror ("PTR I/O error");
clearerr (ptr_unit.fileref);
return SCPE_IOERR;
}
@ -918,7 +918,7 @@ if (ptp_unit.flags & UNIT_PASCII) { /* ASCII mode? */
}
if (putc (ptp_unit.buf, ptp_unit.fileref) == EOF) { /* I/O error? */
ptp_err = 1; /* set error */
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (ptp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -1312,7 +1312,7 @@ if (uptr->WRITTEN && uptr->hwmark && ((uptr->flags & UNIT_RO)== 0)) { /* any
} /* end loop buf */
} /* end else */
if (ferror (uptr->fileref))
perror ("I/O error");
sim_perror ("I/O error");
}
uptr->WRITTEN = FALSE; /* no longer dirty */
}

View file

@ -143,7 +143,7 @@ if ((uptr->flags & UNIT_ATT) == 0) {
fputc (uptr->buf, uptr->fileref); /* print char */
uptr->pos = ftell (uptr->fileref);
if (ferror (uptr->fileref)) { /* error? */
perror ("LPT I/O error");
sim_perror ("LPT I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -167,7 +167,7 @@ if ((temp = getc (ptr_unit.fileref)) == EOF) {
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else sim_printf ("PTR I/O error: %d\n", errno);
else sim_perror ("PTR I/O error");
clearerr (ptr_unit.fileref);
return SCPE_IOERR;
}
@ -231,7 +231,7 @@ int_req = INT_UPDATE; /* update interrupts */
if ((ptp_unit.flags & UNIT_ATT) == 0) /* attached? */
return IORETURN (ptp_stopioe, SCPE_UNATT);
if (putc (ptp_unit.buf, ptp_unit.fileref) == EOF) {
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (ptp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -408,7 +408,7 @@ rk_busy = 0;
RK_INT_UPDATE;
if (err != 0) {
perror ("RK I/O error");
sim_perror ("RK I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -521,7 +521,7 @@ rlsa = rlsa + ((bc + (RL_NUMBY - 1)) / RL_NUMBY);
rl_set_done (0);
if (err != 0) { /* error? */
perror ("RL I/O error");
sim_perror ("RL I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -893,7 +893,7 @@ if (uptr->WRITTEN && uptr->hwmark && ((uptr->flags & UNIT_RO)== 0)) { /* any
} /* end loop buf */
} /* end else */
if (ferror (uptr->fileref))
perror ("I/O error");
sim_perror ("I/O error");
}
uptr->WRITTEN = FALSE; /* no longer dirty */
}

View file

@ -311,7 +311,7 @@ if (feof (cdr_unit.fileref)) { /* eof? */
return STOP_NOCD;
}
if (ferror (cdr_unit.fileref)) { /* error? */
perror ("Card reader I/O error");
sim_perror ("Card reader I/O error");
clearerr (cdr_unit.fileref);
carderr = 1;
return SCPE_OK; }
@ -352,7 +352,7 @@ rbuf[CDR_WIDTH] = 0; /* null at end */
fputs (rbuf, uptr -> fileref); /* write card */
fputc ('\n', uptr -> fileref); /* plus new line */
if (ferror (uptr -> fileref)) { /* error? */
perror ("Card stacker I/O error");
sim_perror ("Card stacker I/O error");
clearerr (uptr -> fileref);
}
uptr -> pos = ftell (uptr -> fileref); /* update position */
@ -397,7 +397,7 @@ if (!cdp_ebcdic) {
}
}
if (ferror (uptr -> fileref)) { /* error? */
perror ("Card punch I/O error");
sim_perror ("Card punch I/O error");
clearerr (uptr -> fileref);
pcherror = 1;
}

View file

@ -240,7 +240,7 @@ else {
}
lines = lflag = 0; /* clear cc action */
if (ferror (lpt_unit.fileref)) { /* error? */
perror ("Line printer I/O error");
sim_perror ("Line printer I/O error");
clearerr (lpt_unit.fileref);
lpterror = 1;
}

View file

@ -234,7 +234,7 @@ static t_stat sagelp_output(UNIT *uptr)
if ((u39.portc & U39C_STROBE)==0) { /* strobe presented */
fputc (uptr->buf & 0177, uptr->fileref); /* put out char */
if (ferror (uptr->fileref)) {
perror ("LP I/O error");
sim_perror ("LP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -245,7 +245,7 @@ if (uptr->flags & UNIT_ATT) { /* attached? */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* I/O error? */
lpt_end_op (CHF_EOR | CHF_ERR); /* set err, disc */
perror ("LPT I/O error"); /* print msg */
sim_perror ("LPT I/O error"); /* print msg */
clearerr (uptr->fileref);
return SCPE_IOERR; /* ret error */
}

View file

@ -280,7 +280,7 @@ if ((temp = getc (ptr_unit.fileref)) == EOF) { /* end of file? */
sim_printf ("PTR end of file\n");
else return SCPE_OK;
}
else perror ("PTR I/O error"); /* I/O error */
else sim_perror ("PTR I/O error"); /* I/O error */
clearerr (ptr_unit.fileref);
return SCPE_IOERR;
}
@ -414,7 +414,7 @@ if ((ptp_unit.flags & UNIT_ATT) == 0) { /* attached? */
}
if (putc (dat, ptp_unit.fileref) == EOF) { /* I/O error? */
ptp_set_err (); /* yes, disc, err */
perror ("PTP I/O error"); /* print msg */
sim_perror ("PTP I/O error"); /* print msg */
clearerr (ptp_unit.fileref);
return SCPE_IOERR;
}

View file

@ -366,7 +366,7 @@ if ((uptr->flags & UNIT_ATT) == 0) { /* attached? */
ios = 0;
return SCPE_IOERR;
}
else perror ("PETR I/O error");
else sim_perror ("PETR I/O error");
clearerr (uptr->fileref);
ios = 0;
return SCPE_IOERR;
@ -533,7 +533,7 @@ t_stat ptp_svc (UNIT *uptr)
if ((uptr->flags & UNIT_ATT) == 0) /* not attached? */
return SCPE_UNATT;
if (putc (uptr->buf, uptr->fileref) == EOF) { /* I/O error? */
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -592,7 +592,7 @@ rbda = rbda + ((wc + (RB_NUMWD(uptr) - 1)) / RB_NUMWD(uptr));
rb_set_done (0);
if (err != 0) { /* error? */
perror ("RB I/O error");
sim_perror ("RB I/O error");
clearerr (uptr->fileref);
return SCPE_IOERR;
}

View file

@ -816,7 +816,7 @@ if (cso_csr & CSR_IE)
if ((cso_unit.flags & UNIT_ATT) == 0)
return SCPE_OK;
if (putc (cso_unit.buf, cso_unit.fileref) == EOF) {
perror ("CSO I/O error");
sim_perror ("CSO I/O error");
clearerr (cso_unit.fileref);
return SCPE_IOERR;
}

7
scp.c
View file

@ -5272,7 +5272,7 @@ if (uptr->flags & UNIT_BUF) {
rewind (uptr->fileref);
sim_fwrite (uptr->filebuf, SZ_D (dptr), cap, uptr->fileref);
if (ferror (uptr->fileref))
perror ("I/O error");
sim_printf ("%s: I/O error - %s", sim_dname (dptr), strerror (errno));
}
if (uptr->flags & UNIT_MUSTBUF) { /* dyn alloc? */
free (uptr->filebuf); /* free buf */
@ -9581,6 +9581,11 @@ if (buf != stackbuf)
free (buf);
}
void sim_perror (const char *msg)
{
sim_printf ("%s: %s\n", msg, strerror (errno));
}
/* Print command result message to stdout, sim_log (if enabled) and sim_deb (if enabled) */
t_stat sim_messagef (t_stat stat, const char* fmt, ...)
{

1
scp.h
View file

@ -186,6 +186,7 @@ const char *sim_error_text (t_stat stat);
t_stat sim_string_to_stat (char *cptr, t_stat *cond);
t_stat sim_cancel_step (void);
void sim_printf (const char* fmt, ...);
void sim_perror (const char* msg);
t_stat sim_messagef (t_stat stat, const char* fmt, ...);
void sim_data_trace(DEVICE *dptr, UNIT *uptr, const uint8 *data, const char *position, size_t len, const char *txt, uint32 reason);
void sim_debug_bits (uint32 dbits, DEVICE* dptr, BITFIELD* bitdefs,

View file

@ -1081,7 +1081,7 @@ t_stat dp_ioerr (UNIT *uptr)
uint32 cidx = uptr->UCTX;
uint32 dva = dp_dib[cidx].dva;
perror ("DP I/O error");
sim_perror ("DP I/O error");
clearerr (uptr->fileref);
dp_ctx[cidx].dp_flags |= DPF_DPE; /* set DPE flag */
chan_set_chf (dva, CHF_XMDE);

View file

@ -353,7 +353,7 @@ if (skp && CHP (CH_TOF, lp_cct[lp_cctp])) /* skip, TOF? */
}
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("Line printer I/O error");
sim_perror ("Line printer I/O error");
clearerr (uptr->fileref);
chan_set_chf (lp_dib.dva, CHF_XMDE);
return SCPE_IOERR;
@ -388,7 +388,7 @@ if ((lp_model == LP_7440) || lp_pass) { /* ready to print? */
fputc (lp_inh? '\r': '\n', uptr->fileref); /* cr or nl */
uptr->pos = ftell (uptr->fileref); /* update position */
if (ferror (uptr->fileref)) { /* error? */
perror ("Line printer I/O error");
sim_perror ("Line printer I/O error");
clearerr (uptr->fileref);
chan_set_chf (lp_dib.dva, CHF_XMDE);
return SCPE_IOERR;

View file

@ -186,7 +186,7 @@ switch (pt_cmd) { /* case on state */
break;
}
else { /* real error */
perror ("PTR I/O error");
sim_perror ("PTR I/O error");
clearerr (uptr->fileref);
chan_set_chf (pt_dib.dva, CHF_XMDE); /* data error */
return pt_chan_err (SCPE_IOERR); /* force uend */
@ -212,7 +212,7 @@ switch (pt_cmd) { /* case on state */
if (CHS_IFERR (st)) /* channel error? */
return pt_chan_err (st);
if (putc (c, pt_unit[PTP].fileref) == EOF) {
perror ("PTP I/O error");
sim_perror ("PTP I/O error");
clearerr (pt_unit[PTP].fileref);
chan_set_chf (pt_dib.dva, CHF_XMDE); /* data error */
return pt_chan_err (SCPE_IOERR); /* force uend */

View file

@ -1355,7 +1355,7 @@ switch (DK_GET_FMT (uptr)) { /* case on format */
case DKUF_F_STD: /* SIMH format */
case DKUF_F_VHD: /* VHD format */
case DKUF_F_RAW: /* Raw Physical Disk Access */
perror (msg);
sim_printf ("%s %s: %s\n", sim_uname(uptr), msg, strerror(errno));
default:
;
}

View file

@ -2050,7 +2050,7 @@ return ((uptr->flags & MTUF_WRP) || (MT_GET_FMT (uptr) == MTUF_F_TPC))? TRUE: FA
t_stat sim_tape_ioerr (UNIT *uptr)
{
perror ("Magtape library I/O error");
sim_printf ("%s: Magtape library I/O error: %s\n", sim_uname (uptr), strerror (errno));
clearerr (uptr->fileref);
return MTSE_IOERR;
}