summaryrefslogtreecommitdiffstats
path: root/sys/isa/syscons.c
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/isa/syscons.c
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/isa/syscons.c')
-rw-r--r--sys/isa/syscons.c9
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
OpenPOWER on IntegriCloud