Skip to content
Permalink
Browse files

[console] Fix display of characters with top bit set

Inhibit implicit sign-padding of characters with the top bit set
(e.g. accented characters), which confuses the mucurses library by
colliding with the bits used to store character attributes and
colours.

Reported-by: Marc Delisle <Marc.Delisle@cegepsherbrooke.qc.ca>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Mar 13, 2014
1 parent 2602965 commit a17ee3610da87dece79292fa09266b43066ea6f3
Showing with 2 additions and 2 deletions.
  1. +1 −1 src/core/vsprintf.c
  2. +1 −1 src/hci/mucurses/mucurses.c
@@ -167,7 +167,7 @@ static char * format_decimal ( char *end, signed long num, int width,
* Call's the printf_context::handler() method and increments
* printf_context::len.
*/
static inline void cputchar ( struct printf_context *ctx, unsigned int c ) {
static inline void cputchar ( struct printf_context *ctx, unsigned char c ) {
ctx->handler ( ctx, c );
++ctx->len;
}
@@ -75,7 +75,7 @@ void _wputch ( WINDOW *win, chtype ch, int wrap ) {
* @v wrap wrap "switch"
*/
void _wputc ( WINDOW *win, char c, int wrap ) {
_wputch ( win, ( c | win->attrs ), wrap );
_wputch ( win, ( ( ( unsigned char ) c ) | win->attrs ), wrap );
}

/**

0 comments on commit a17ee36

Please sign in to comment.