diff options
author | bde <bde@FreeBSD.org> | 1996-09-14 04:27:46 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1996-09-14 04:27:46 +0000 |
commit | c51d5ab188ee1b1b6a52b4aa8baaf269ce01451b (patch) | |
tree | b3213d6fc0cfefdd1d4313c9f142b7d0eaae3b30 /sys/isa/syscons.c | |
parent | 1abf7809ff779cc419e502cc2ef28cbdc13ff57f (diff) | |
download | FreeBSD-src-c51d5ab188ee1b1b6a52b4aa8baaf269ce01451b.zip FreeBSD-src-c51d5ab188ee1b1b6a52b4aa8baaf269ce01451b.tar.gz |
Changed cncheckc() interface so that it is 8-bit clean - return -1
instead of 0 if there is no input.
syscons.c:
Added missing spl locking in sccncheckc(). Return the same value as
sccngetc() would. It is wrong for sccngetc() to return non-ASCII, but
stripping the non-ASCII bits doesn't help.
Diffstat (limited to 'sys/isa/syscons.c')
-rw-r--r-- | sys/isa/syscons.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c index 533596d..cce50f0 100644 --- a/sys/isa/syscons.c +++ b/sys/isa/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.169 1996/09/09 19:02:26 sos Exp $ + * $Id: syscons.c,v 1.170 1996/09/10 19:14:49 peter Exp $ */ #include "sc.h" @@ -1428,7 +1428,12 @@ sccngetc(dev_t dev) int sccncheckc(dev_t dev) { - return (scgetc(1) & 0xff); + int c, s; + + s = spltty(); + c = scgetc(1); + splx(s); + return(c == NOKEY ? -1 : c); /* c == -1 can't happen */ } static void |