Index: src/term/gfxterm.c =================================================================== --- src.orig/term/gfxterm.c 2009-07-22 16:54:01.000000000 -0700 +++ src/term/gfxterm.c 2009-07-24 17:15:15.000000000 -0700 @@ -151,6 +151,16 @@ } static void +clear_char(struct grub_colored_char *c) +{ + c->code = ' '; + c->fg_color = virtual_screen.fg_color; + c->bg_color = virtual_screen.bg_color; + c->width = 0; + c->index = 0; +} + +static void grub_virtual_screen_free (void) { /* If virtual screen has been allocated, free it. */ @@ -230,11 +240,7 @@ /* Clear out text buffer. */ for(i = 0; i < virtual_screen.columns * virtual_screen.rows; i++) { - virtual_screen.text_buffer[i].code = ' '; - virtual_screen.text_buffer[i].fg_color = virtual_screen.fg_color; - virtual_screen.text_buffer[i].bg_color = virtual_screen.bg_color; - virtual_screen.text_buffer[i].width = 0; - virtual_screen.text_buffer[i].index = 0; + clear_char (&(virtual_screen.text_buffer[i])); } return grub_errno; @@ -581,11 +587,7 @@ i < virtual_screen.columns * virtual_screen.rows; i++) { - virtual_screen.text_buffer[i].code = ' '; - virtual_screen.text_buffer[i].fg_color = virtual_screen.fg_color; - virtual_screen.text_buffer[i].bg_color = virtual_screen.bg_color; - virtual_screen.text_buffer[i].width = 0; - virtual_screen.text_buffer[i].index = 0; + clear_char (&(virtual_screen.text_buffer[i])); } /* Scroll physical screen. */ @@ -801,11 +803,7 @@ for (i = 0; i < virtual_screen.columns * virtual_screen.rows; i++) { - virtual_screen.text_buffer[i].code = ' '; - virtual_screen.text_buffer[i].fg_color = virtual_screen.fg_color; - virtual_screen.text_buffer[i].bg_color = virtual_screen.bg_color; - virtual_screen.text_buffer[i].width = 0; - virtual_screen.text_buffer[i].index = 0; + clear_char (&(virtual_screen.text_buffer[i])); } virtual_screen.cursor_x = virtual_screen.cursor_y = 0; Index: src/ChangeLog =================================================================== --- src.orig/ChangeLog 2009-07-24 17:15:24.000000000 -0700 +++ src/ChangeLog 2009-07-24 17:18:11.000000000 -0700 @@ -1,3 +1,10 @@ +2009-07-24 Joe Auricchio + + * term/gfxterm.c (clear_char): New function. + (grub_virtual_screen_setup): Use clear_char. + (scroll_up): Likewise. + (grub_virtual_screen_cls): Likewise. + 2009-07-21 Vladimir Serbinenko UUID support for UFS