[comp.os.minix] Minor bug in tty.c

kchen@imagen.UUCP (Kok Chen) (08/17/87)

The function out_char() in tty.c has a minor bug (apparently not 
corrected in ast's 1.2 release diff).  Corresponding to line 4294
of the listing (page 519) in the "bible," the line should read:

tp->tty_ramqueue[tp->tty_rwords++] = tp->tty_attribute | ( c & 0xff ) ;
                                                         ------------
The masking with 0xff was missing in the original code.  Since c was 
declared as a char, any usage of the extended character set of the PC 
(e.g. the crude "graphics" symbols) causes the video attribute bits to 
be turned on through sign extension (bad for epileptics :-).

Many thanks to ast for MINIX.  Never had so much fun hacking since the
RPC-4000 and the early TOPS-20 days!!!


Kok S. Chen			..!decwrl!imagen!kchen
Imagen Corporation

--------
P.S. the hard disk seems perfectly stable (modulo the programmed-hard-
     error-blocks problem) with ast's recent 1.2 at_wini.c posting.  
     System is a 10 MHz (0 wait) AT clone with a WD controller.