summaryrefslogtreecommitdiff
path: root/emulators/simh/files/patch-PDP11_pdp11__rq.c
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/simh/files/patch-PDP11_pdp11__rq.c')
-rw-r--r--emulators/simh/files/patch-PDP11_pdp11__rq.c140
1 files changed, 140 insertions, 0 deletions
diff --git a/emulators/simh/files/patch-PDP11_pdp11__rq.c b/emulators/simh/files/patch-PDP11_pdp11__rq.c
new file mode 100644
index 000000000000..28c8f514b3dc
--- /dev/null
+++ b/emulators/simh/files/patch-PDP11_pdp11__rq.c
@@ -0,0 +1,140 @@
+--- PDP11/pdp11_rq.c.orig 2016-12-01 22:43:42 UTC
++++ PDP11/pdp11_rq.c
+@@ -1352,7 +1352,7 @@ UNIT *uptr;
+ DEVICE *dptr = rq_devmap[cp->cnum];
+
+ tpkt = 0; /* set no mtch */
+-if (uptr = rq_getucb (cp, lu)) { /* get unit */
++if ((uptr = rq_getucb (cp, lu))) { /* get unit */
+ if (uptr->cpkt && /* curr pkt? */
+ (GETP32 (uptr->cpkt, CMD_REFL) == ref)) { /* match ref? */
+ tpkt = uptr->cpkt; /* save match */
+@@ -1365,8 +1365,8 @@ if (uptr = rq_getucb (cp, lu)) {
+ tpkt = uptr->pktq; /* save match */
+ uptr->pktq = cp->pak[tpkt].link; /* unlink */
+ }
+- else if (prv = uptr->pktq) { /* srch pkt q */
+- while (tpkt = cp->pak[prv].link) { /* walk list */
++ else if ((prv = uptr->pktq)) { /* srch pkt q */
++ while ((tpkt = cp->pak[prv].link)) { /* walk list */
+ if (GETP32 (tpkt, RSP_REFL) == ref) { /* match? unlink */
+ cp->pak[prv].link = cp->pak[tpkt].link;
+ break;
+@@ -1393,7 +1393,7 @@ uint32 cmd = GETP (pkt, CMD_OPC, OPC);
+ uint32 sts;
+ UNIT *uptr;
+
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if (q && uptr->cpkt) { /* need to queue? */
+ rq_enqt (cp, &uptr->pktq, pkt); /* do later */
+ return OK;
+@@ -1447,7 +1447,7 @@ if (cp->pak[pkt].d[CMD_MOD] & MD_NXU) {
+ cp->pak[pkt].d[RSP_UN] = lu;
+ }
+ }
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if ((uptr->flags & UNIT_ATT) == 0) /* not attached? */
+ sts = ST_OFL | SB_OFL_NV; /* offl no vol */
+ else if (uptr->flags & UNIT_ONL) /* online */
+@@ -1482,7 +1482,7 @@ uint32 cmd = GETP (pkt, CMD_OPC, OPC);
+ uint32 sts;
+ UNIT *uptr;
+
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if (q && uptr->cpkt) { /* need to queue? */
+ rq_enqt (cp, &uptr->pktq, pkt); /* do later */
+ return OK;
+@@ -1520,7 +1520,7 @@ else {
+ cmd = GETP (pkt, CMD_OPC, OPC); /* get opcode */
+ cp->cflgs = (cp->cflgs & CF_RPL) | /* hack ctrl flgs */
+ cp->pak[pkt].d[SCC_CFL];
+- if (cp->htmo = cp->pak[pkt].d[SCC_TMO]) /* set timeout */
++ if ((cp->htmo = cp->pak[pkt].d[SCC_TMO])) /* set timeout */
+ cp->htmo = cp->htmo + 2; /* if nz, round up */
+ cp->pak[pkt].d[SCC_CFL] = cp->cflgs; /* return flags */
+ cp->pak[pkt].d[SCC_TMO] = RQ_DCTMO; /* ctrl timeout */
+@@ -1547,7 +1547,7 @@ uint32 cmd = GETP (pkt, CMD_OPC, OPC);
+ uint32 sts;
+ UNIT *uptr;
+
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if (q && uptr->cpkt) { /* need to queue? */
+ rq_enqt (cp, &uptr->pktq, pkt); /* do later */
+ return OK;
+@@ -1576,7 +1576,7 @@ uint32 cmd = GETP (pkt, CMD_OPC, OPC);
+ uint32 sts;
+ UNIT *uptr;
+
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if (q && uptr->cpkt) { /* need to queue? */
+ rq_enqt (cp, &uptr->pktq, pkt); /* do later */
+ return OK;
+@@ -1610,7 +1610,7 @@ uint32 cmd = GETP (pkt, CMD_OPC, OPC);
+ uint32 sts;
+ UNIT *uptr;
+
+-if (uptr = rq_getucb (cp, lu)) { /* unit exist? */
++if ((uptr = rq_getucb (cp, lu))) { /* unit exist? */
+ if (q && uptr->cpkt) { /* need to queue? */
+ rq_enqt (cp, &uptr->pktq, pkt); /* do later */
+ return OK;
+@@ -1725,7 +1725,7 @@ if (cmd == OP_ERS) {
+
+ else if (cmd == OP_WR) { /* write? */
+ t = Map_ReadW (ba, tbc, rqxb); /* fetch buffer */
+- if (abc = tbc - t) { /* any xfer? */
++ if ((abc = tbc - t)) { /* any xfer? */
+ wwc = ((abc + (RQ_NUMBY - 1)) & ~(RQ_NUMBY - 1)) >> 1;
+ for (i = (abc >> 1); i < wwc; i++)
+ rqxb[i] = 0;
+@@ -1752,7 +1752,7 @@ else {
+ err = ferror (uptr->fileref);
+ }
+ if ((cmd == OP_RD) && !err) { /* read? */
+- if (t = Map_WriteW (ba, tbc, rqxb)) { /* store, nxm? */
++ if ((t = Map_WriteW (ba, tbc, rqxb))) { /* store, nxm? */
+ PUTP32 (pkt, RW_WBCL, bc - (tbc - t)); /* adj bc */
+ PUTP32 (pkt, RW_WBAL, ba + (tbc - t)); /* adj ba */
+ if (rq_hbe (cp, uptr)) /* post err log */
+@@ -2586,11 +2586,11 @@ if ((uptr->flags & UNIT_ONL) == 0) {
+ if (uptr->cpkt) {
+ fprintf (st, "Unit %d current ", u);
+ rq_show_pkt (st, cp, uptr->cpkt);
+- if (pkt = uptr->pktq) {
++ if ((pkt = uptr->pktq)) {
+ do {
+ fprintf (st, "Unit %d queued ", u);
+ rq_show_pkt (st, cp, pkt);
+- } while (pkt = cp->pak[pkt].link);
++ } while ((pkt = cp->pak[pkt].link));
+ }
+ }
+ else fprintf (st, "Unit %d queues are empty\n", u);
+@@ -2617,7 +2617,7 @@ if (val & RQ_SH_RI) {
+ rq_show_ring (st, &cp->rq);
+ }
+ if (val & RQ_SH_FR) {
+- if (pkt = cp->freq) {
++ if ((pkt = cp->freq)) {
+ for (i = 0; pkt != 0; i++, pkt = cp->pak[pkt].link) {
+ if (i == 0)
+ fprintf (st, "Free queue = %d", pkt);
+@@ -2630,11 +2630,11 @@ if (val & RQ_SH_FR) {
+ else fprintf (st, "Free queue is empty\n");
+ }
+ if (val & RQ_SH_RS) {
+- if (pkt = cp->rspq) {
++ if ((pkt = cp->rspq)) {
+ do {
+ fprintf (st, "Response ");
+ rq_show_pkt (st, cp, pkt);
+- } while (pkt = cp->pak[pkt].link);
++ } while ((pkt = cp->pak[pkt].link));
+ }
+ else fprintf (st, "Response queue is empty\n");
+ }