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.
This commit is contained in:
parent
40b55a34ae
commit
daed6ffd24
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user