diff --git a/PDP1/pdp1_stddev.c b/PDP1/pdp1_stddev.c index 862814c6..255fdfe8 100644 --- a/PDP1/pdp1_stddev.c +++ b/PDP1/pdp1_stddev.c @@ -406,8 +406,10 @@ if (ptr_hold & CW) { /* char waiting? */ } else { for (;;) { /* until valid char */ - if ((c = getc (uptr->fileref)) == EOF) /* get next char, EOF? */ + if ((c = getc (uptr->fileref)) == EOF) { /* get next char, EOF? */ + ptr_leader = PTR_LEADER; /* set up for trailer */ return FIODEC_STOP; /* return STOP */ + } uptr->pos = uptr->pos + 1; /* count char */ c = c & 0177; /* cut to 7b */ if (c == '\n') /* NL -> CR */ @@ -532,11 +534,13 @@ if ((uptr->flags & UNIT_ATT) == 0) /* not attached? */ return IORETURN (ptp_stopioe, SCPE_UNATT); if ((uptr->flags & UNIT_ASCII) != 0) { /* ASCII mode? */ int32 c1 = uptr->buf & 077; - if (c1 == FIODEC_UC) { + if (uptr->buf == 0) /* ignore nulls */ + return SCPE_OK; + if (c1 == FIODEC_UC) { /* UC? absorb */ ptp_uc = UC; return SCPE_OK; } - else if (c1 == FIODEC_LC) { + else if (c1 == FIODEC_LC) { /* LC? absorb */ ptp_uc = 0; return SCPE_OK; }