From 53bbb0f6b1bd96a7ad8c5cd0d45e0b2705704f6d Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Thu, 11 Sep 2008 17:44:45 +0000 Subject: 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 --- payloads/libpayload/drivers/video/video.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'payloads/libpayload/drivers/video') diff --git a/payloads/libpayload/drivers/video/video.c b/payloads/libpayload/drivers/video/video.c index 78f410be34..23d0c1bb58 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; -- cgit v1.2.3