From 0b209d238389d655b1dca5e72acc6f24ff6a9362 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sun, 25 Mar 2018 18:09:07 -0700 Subject: [PATCH] SCP: Allow UNIT_RO flag bit to be static when UNIT_ROABLE isn't present. --- scp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scp.c b/scp.c index 36b0c463..c67ade51 100644 --- a/scp.c +++ b/scp.c @@ -6280,8 +6280,9 @@ if ((sim_switches & SWMASK ('R')) || /* read only? */ uptr->fileref = sim_fopen (cptr, "rb"); /* open rd only */ if (uptr->fileref == NULL) /* open fail? */ return attach_err (uptr, SCPE_OPENERR); /* yes, error */ + if (!(uptr->flags & UNIT_RO)) + sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_dname (dptr)); uptr->flags = uptr->flags | UNIT_RO; /* set rd only */ - sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_dname (dptr)); } else { if (sim_switches & SWMASK ('N')) { /* new file only? */ @@ -6451,7 +6452,7 @@ if ((uptr->flags & UNIT_BUF) && (uptr->filebuf)) { } uptr->flags = uptr->flags & ~UNIT_BUF; } -uptr->flags = uptr->flags & ~(UNIT_ATT | UNIT_RO); +uptr->flags = uptr->flags & ~(UNIT_ATT | ((uptr->flags & UNIT_ROABLE) ? UNIT_RO : 0)); free (uptr->filename); uptr->filename = NULL; if (fclose (uptr->fileref) == EOF)