diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index c5633302ad6b41f1d2397a94c58dc62ba5046d83..7c143edd516836d98ef7bafd838b9c099611ed97 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -729,26 +729,30 @@ int ciolib_cputs(char *str) void ciolib_textbackground(int colour) { unsigned char attr; + unsigned char col; CIOLIB_INIT(); ciolib_gettextinfo(&cio_textinfo); attr=cio_textinfo.attribute; attr&=143; - attr|=(colour<<4); + col=(colour & 0x07); + attr|=(col<<4); ciolib_textattr(attr); } void ciolib_textcolor(int colour) { unsigned char attr; + unsigned char col; CIOLIB_INIT(); ciolib_gettextinfo(&cio_textinfo); attr=cio_textinfo.attribute; attr&=240; - attr|=(colour*0x0f); + col=colour&0x0f; + attr|=col; ciolib_textattr(attr); }