From: Patrick Georgi Date: Thu, 11 Sep 2008 17:44:45 +0000 (+0000) Subject: makes cursorx and cursory signed, as there X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=53bbb0f6b1bd96a7ad8c5cd0d45e0b2705704f6d;p=coreboot.git makes cursorx and cursory signed, as there are several "if (cursorx < 0)" tests. I also added another one, to make backspace wrap backwards into the previous line, if necessary. Signed-off-by: Patrick Georgi Acked-by: Jordan Crouse git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3576 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- diff --git a/payloads/libpayload/drivers/video/video.c b/payloads/libpayload/drivers/video/video.c index 78f410be3..23d0c1bb5 100644 --- a/payloads/libpayload/drivers/video/video.c +++ b/payloads/libpayload/drivers/video/video.c @@ -51,8 +51,8 @@ static struct video_console *console_list[] = static struct video_console *console; -static unsigned int cursorx; -static unsigned int cursory; +static int cursorx; +static int cursory; static unsigned int cursor_enabled = 1; static void video_console_fixup_cursor(void) @@ -122,6 +122,10 @@ void video_console_putchar(unsigned int ch) case '\b': cursorx--; + if (cursorx < 0) { + cursory--; + cursorx = VIDEO_COLS; + } break; case '\t': @@ -172,7 +176,7 @@ int video_console_init(void) console = console_list[i]; if (console->get_cursor) - console->get_cursor(&cursorx, &cursory, &cursor_enabled); + console->get_cursor((unsigned int*)&cursorx, (unsigned int*)&cursory, &cursor_enabled); if (cursorx) { cursorx = 0;