[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> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3195 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
42cccdf03b
commit
0e122af465
|
@ -580,7 +580,13 @@ int wnoutrefresh(WINDOW *win)
|
||||||
c |= tmp << 12;
|
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);
|
vga_putc(y, x, c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue