diff --git a/scp.c b/scp.c index df835885..4dca5efa 100644 --- a/scp.c +++ b/scp.c @@ -8097,10 +8097,12 @@ if ((sim_switches & SWMASK ('R')) || /* read only? */ ((uptr->flags & UNIT_RO) != 0)) { if (((uptr->flags & UNIT_ROABLE) == 0) && /* allowed? */ ((uptr->flags & UNIT_RO) == 0)) - return attach_err (uptr, SCPE_NORO); /* no, error */ + return sim_messagef (attach_err (uptr, SCPE_NORO), "%s: Read Only operation not allowed\n", /* no, error */ + sim_uname (uptr)); uptr->fileref = sim_fopen (cptr, "rb"); /* open rd only */ if (uptr->fileref == NULL) /* open fail? */ - return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (attach_err (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); if (!(uptr->flags & UNIT_RO)) sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_uname (uptr)); uptr->flags = uptr->flags | UNIT_RO; /* set rd only */ @@ -8109,7 +8111,8 @@ else { if (sim_switches & SWMASK ('N')) { /* new file only? */ uptr->fileref = sim_fopen (cptr, "wb+"); /* open new file */ if (uptr->fileref == NULL) /* open fail? */ - return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (attach_err (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); sim_messagef (SCPE_OK, "%s: creating new file: %s\n", sim_uname (uptr), cptr); } else { /* normal */ @@ -8121,19 +8124,23 @@ else { if ((errno == EROFS) || (errno == EACCES)) {/* read only? */ #endif if ((uptr->flags & UNIT_ROABLE) == 0) /* allowed? */ - return attach_err (uptr, SCPE_NORO);/* no error */ + return sim_messagef (attach_err (uptr, SCPE_NORO), "%s: Read Only operation not allowed\n", /* no, error */ + sim_uname (uptr)); uptr->fileref = sim_fopen (cptr, "rb"); /* open rd only */ if (uptr->fileref == NULL) /* open fail? */ - return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (attach_err (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); uptr->flags = uptr->flags | UNIT_RO; /* set rd only */ sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_uname (uptr)); } else { /* doesn't exist */ if (sim_switches & SWMASK ('E')) /* must exist? */ - return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (attach_err (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); uptr->fileref = sim_fopen (cptr, "wb+");/* open new file */ if (uptr->fileref == NULL) /* open fail? */ - return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (attach_err (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); sim_messagef (SCPE_OK, "%s: creating new file\n", sim_uname (uptr)); } } /* end if null */ diff --git a/sim_disk.c b/sim_disk.c index 65a06ecc..6e43b812 100644 --- a/sim_disk.c +++ b/sim_disk.c @@ -2719,10 +2719,12 @@ if ((sim_switches & SWMASK ('R')) || /* read only? */ ((uptr->flags & UNIT_RO) != 0)) { if (((uptr->flags & UNIT_ROABLE) == 0) && /* allowed? */ ((uptr->flags & UNIT_RO) == 0)) - return _err_return (uptr, SCPE_NORO); /* no, error */ + return sim_messagef (_err_return (uptr, SCPE_NORO), "%s: Read Only operation not allowed\n", /* no, error */ + sim_uname (uptr)); uptr->fileref = open_function (cptr, "rb"); /* open rd only */ if (uptr->fileref == NULL) /* open fail? */ - return _err_return (uptr, SCPE_OPENERR); /* yes, error */ + return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); uptr->flags = uptr->flags | UNIT_RO; /* set rd only */ sim_messagef (SCPE_OK, "%s: Unit is read only\n", sim_uname (uptr)); } @@ -2731,10 +2733,12 @@ else { /* normal */ if (uptr->fileref == NULL) { /* open fail? */ if ((errno == EROFS) || (errno == EACCES)) { /* read only? */ if ((uptr->flags & UNIT_ROABLE) == 0) /* allowed? */ - return _err_return (uptr, SCPE_NORO); /* no error */ + return sim_messagef (_err_return (uptr, SCPE_NORO), "%s: Read Only operation not allowed\n", /* no, error */ + sim_uname (uptr)); uptr->fileref = open_function (cptr, "rb"); /* open rd only */ if (uptr->fileref == NULL) /* open fail? */ - return _err_return (uptr, SCPE_OPENERR);/* yes, error */ + return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: Can't open '%s': %s\n", /* yes, error */ + sim_uname (uptr), cptr, strerror (errno)); uptr->flags = uptr->flags | UNIT_RO; /* set rd only */ sim_messagef (SCPE_OK, "%s: Unit is read only\n", sim_uname (uptr)); }