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 | |
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')
-rw-r--r-- | sys/amd64/amd64/tsc.c | 4 | ||||
-rw-r--r-- | sys/amd64/isa/clock.c | 4 | ||||
-rw-r--r-- | sys/dev/sio/sio.c | 4 | ||||
-rw-r--r-- | sys/dev/syscons/syscons.c | 9 | ||||
-rw-r--r-- | sys/i386/i386/tsc.c | 4 | ||||
-rw-r--r-- | sys/i386/isa/clock.c | 4 | ||||
-rw-r--r-- | sys/i386/isa/sio.c | 4 | ||||
-rw-r--r-- | sys/i386/isa/syscons.c | 9 | ||||
-rw-r--r-- | sys/i386/isa/wd.c | 6 | ||||
-rw-r--r-- | sys/isa/atrtc.c | 4 | ||||
-rw-r--r-- | sys/isa/sio.c | 4 | ||||
-rw-r--r-- | sys/isa/syscons.c | 9 |
12 files changed, 40 insertions, 25 deletions
diff --git a/sys/amd64/amd64/tsc.c b/sys/amd64/amd64/tsc.c index ab7c3b6..3413dca 100644 --- a/sys/amd64/amd64/tsc.c +++ b/sys/amd64/amd64/tsc.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.66 1996/07/30 19:26:47 bde Exp $ + * $Id: clock.c,v 1.67 1996/08/02 21:16:26 bde Exp $ */ /* @@ -605,7 +605,7 @@ startrtclock() if (bootverbose) { printf( "Press a key on the console to abort clock calibration\n"); - while (!cncheckc()) + while (cncheckc() == -1) calibrate_clocks(); } #endif diff --git a/sys/amd64/isa/clock.c b/sys/amd64/isa/clock.c index ab7c3b6..3413dca 100644 --- a/sys/amd64/isa/clock.c +++ b/sys/amd64/isa/clock.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.66 1996/07/30 19:26:47 bde Exp $ + * $Id: clock.c,v 1.67 1996/08/02 21:16:26 bde Exp $ */ /* @@ -605,7 +605,7 @@ startrtclock() if (bootverbose) { printf( "Press a key on the console to abort clock calibration\n"); - while (!cncheckc()) + while (cncheckc() == -1) calibrate_clocks(); } #endif diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 2aa4dfc..8976cae 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.144 1996/07/17 22:07:23 julian Exp $ + * $Id: sio.c,v 1.145 1996/09/06 23:08:05 phk Exp $ */ #include "opt_comconsole.h" @@ -2415,7 +2415,7 @@ siocncheckc(dev) if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else - c = 0; + c = -1; siocnclose(&sp); splx(s); return (c); diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 533596d..cce50f0 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/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 diff --git a/sys/i386/i386/tsc.c b/sys/i386/i386/tsc.c index ab7c3b6..3413dca 100644 --- a/sys/i386/i386/tsc.c +++ b/sys/i386/i386/tsc.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.66 1996/07/30 19:26:47 bde Exp $ + * $Id: clock.c,v 1.67 1996/08/02 21:16:26 bde Exp $ */ /* @@ -605,7 +605,7 @@ startrtclock() if (bootverbose) { printf( "Press a key on the console to abort clock calibration\n"); - while (!cncheckc()) + while (cncheckc() == -1) calibrate_clocks(); } #endif diff --git a/sys/i386/isa/clock.c b/sys/i386/isa/clock.c index ab7c3b6..3413dca 100644 --- a/sys/i386/isa/clock.c +++ b/sys/i386/isa/clock.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.66 1996/07/30 19:26:47 bde Exp $ + * $Id: clock.c,v 1.67 1996/08/02 21:16:26 bde Exp $ */ /* @@ -605,7 +605,7 @@ startrtclock() if (bootverbose) { printf( "Press a key on the console to abort clock calibration\n"); - while (!cncheckc()) + while (cncheckc() == -1) calibrate_clocks(); } #endif diff --git a/sys/i386/isa/sio.c b/sys/i386/isa/sio.c index 2aa4dfc..8976cae 100644 --- a/sys/i386/isa/sio.c +++ b/sys/i386/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.144 1996/07/17 22:07:23 julian Exp $ + * $Id: sio.c,v 1.145 1996/09/06 23:08:05 phk Exp $ */ #include "opt_comconsole.h" @@ -2415,7 +2415,7 @@ siocncheckc(dev) if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else - c = 0; + c = -1; siocnclose(&sp); splx(s); return (c); diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c index 533596d..cce50f0 100644 --- a/sys/i386/isa/syscons.c +++ b/sys/i386/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 diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c index 466f8fe..cb4f219 100644 --- a/sys/i386/isa/wd.c +++ b/sys/i386/isa/wd.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.116 1996/09/06 23:08:13 phk Exp $ + * $Id: wd.c,v 1.117 1996/09/06 23:32:41 pst Exp $ */ /* TODO: @@ -1714,7 +1714,7 @@ wddump(dev_t dev) static int wddoingadump = 0; /* Toss any characters present prior to dump. */ - while (cncheckc()) + while (cncheckc() != -1) ; /* Check for acceptable device. */ @@ -1875,7 +1875,7 @@ out: blknum = blknext; /* Operator aborting dump? */ - if (cncheckc()) + if (cncheckc() != -1) return (EINTR); } return (0); diff --git a/sys/isa/atrtc.c b/sys/isa/atrtc.c index ab7c3b6..3413dca 100644 --- a/sys/isa/atrtc.c +++ b/sys/isa/atrtc.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.66 1996/07/30 19:26:47 bde Exp $ + * $Id: clock.c,v 1.67 1996/08/02 21:16:26 bde Exp $ */ /* @@ -605,7 +605,7 @@ startrtclock() if (bootverbose) { printf( "Press a key on the console to abort clock calibration\n"); - while (!cncheckc()) + while (cncheckc() == -1) calibrate_clocks(); } #endif diff --git a/sys/isa/sio.c b/sys/isa/sio.c index 2aa4dfc..8976cae 100644 --- a/sys/isa/sio.c +++ b/sys/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.144 1996/07/17 22:07:23 julian Exp $ + * $Id: sio.c,v 1.145 1996/09/06 23:08:05 phk Exp $ */ #include "opt_comconsole.h" @@ -2415,7 +2415,7 @@ siocncheckc(dev) if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else - c = 0; + c = -1; siocnclose(&sp); splx(s); return (c); 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 |