summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1996-09-14 04:27:46 +0000
committerbde <bde@FreeBSD.org>1996-09-14 04:27:46 +0000
commitc51d5ab188ee1b1b6a52b4aa8baaf269ce01451b (patch)
treeb3213d6fc0cfefdd1d4313c9f142b7d0eaae3b30 /sys
parent1abf7809ff779cc419e502cc2ef28cbdc13ff57f (diff)
downloadFreeBSD-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.c4
-rw-r--r--sys/amd64/isa/clock.c4
-rw-r--r--sys/dev/sio/sio.c4
-rw-r--r--sys/dev/syscons/syscons.c9
-rw-r--r--sys/i386/i386/tsc.c4
-rw-r--r--sys/i386/isa/clock.c4
-rw-r--r--sys/i386/isa/sio.c4
-rw-r--r--sys/i386/isa/syscons.c9
-rw-r--r--sys/i386/isa/wd.c6
-rw-r--r--sys/isa/atrtc.c4
-rw-r--r--sys/isa/sio.c4
-rw-r--r--sys/isa/syscons.c9
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
OpenPOWER on IntegriCloud