r3195 - trunk/payloads/libpayload/curses

Author: uwe Date: 2008-03-29 17:13:22 +0100 (Sat, 29 Mar 2008) New Revision: 3195 Modified: trunk/payloads/libpayload/curses/tinycurses.c Log: [libpayload] Work around sign-extending issue Somewhere characters are getting sign-extended, meaning that the attributes of the drawing chars (>= 128) are wrong. Cast the value before sending it to VGA. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> Modified: trunk/payloads/libpayload/curses/tinycurses.c =================================================================== --- trunk/payloads/libpayload/curses/tinycurses.c 2008-03-29 01:35:21 UTC (rev 3194) +++ trunk/payloads/libpayload/curses/tinycurses.c 2008-03-29 16:13:22 UTC (rev 3195) @@ -580,7 +580,13 @@ c |= tmp << 12; } - c |= win->_line[y].text[x].chars[0]; + /* + * FIXME: Somewhere along the line, the + * character value is getting sign-extented. + * For now grab just the 8 bit character, + * but this will break wide characters! + */ + c |= (chtype) (win->_line[y].text[x].chars[0] & 0xff); vga_putc(y, x, c); } }
participants (1)
-
svn@coreboot.org