Fix SCC bug that broke getty on pmax SCC lines: if RAW and LITOUT were

both off, haracters with their top bit clear were interpreted as a delay.
This (strange) behaviour is still available if  SCC_PARITY_MEANS_DELAY
is defined.
This commit is contained in:
jonathan 1995-09-25 22:10:56 +00:00
parent 95a27d405b
commit f28ebc66ca
1 changed files with 9 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: scc.c,v 1.3 1995/09/25 04:30:43 jonathan Exp $ */
/* $NetBSD: scc.c,v 1.4 1995/09/25 22:10:56 jonathan Exp $ */
/*
* Copyright (c) 1991,1990,1989,1994,1995 Carnegie Mellon University
@ -1078,6 +1078,12 @@ sccstart(tp)
}
goto out;
}
#ifndef SCC_PARITY_MEANS_DELAY
/* normal case */
cc = ndqb(&tp->t_outq, 0);
#else /* SCC_PARITY_MEANS_DELAY */
/* XXX 4.4bsd/pmax quirk: even parity means delay ? */
if (tp->t_flags & (RAW|LITOUT))
cc = ndqb(&tp->t_outq, 0);
else {
@ -1089,6 +1095,8 @@ sccstart(tp)
goto out;
}
}
#endif /* SCC_PARITY_MEANS_DELAY */
tp->t_state |= TS_BUSY;
dp->p_end = dp->p_mem = tp->t_outq.c_cf;
dp->p_end += cc;