else
{
int i;
+ char *p, c;
+
+ p = linep->buf + linep->len;
+ c = *p;
+ *p = 0;
+ grub_puts_terminal (linep->buf + offset + start, term_screen->term);
+ *p = c;
+
for (i = 0;
- i <= grub_term_entry_width (term_screen->term) - linep->len + offset;
+ i < grub_term_entry_width (term_screen->term) - linep->len + offset;
i++)
grub_putcode (' ', term_screen->term);
}
int prev_c;
grub_err_t err = GRUB_ERR_NONE;
unsigned i;
+ grub_term_output_t term;
err = grub_auth_check_authentication (NULL);
if (! screen)
return;
+ screen->terms = NULL;
+
refresh:
+ grub_free (screen->terms);
+ screen->nterms = 0;
+ FOR_ACTIVE_TERM_OUTPUTS(term)
+ screen->nterms++;
+ screen->terms = grub_malloc (screen->nterms * sizeof (screen->terms[0]));
+ if (!screen->terms)
+ {
+ grub_print_error ();
+ grub_errno = GRUB_ERR_NONE;
+ return;
+ }
+ i = 0;
+ FOR_ACTIVE_TERM_OUTPUTS(term)
+ {
+ screen->terms[i].term = term;
+ screen->terms[i].x = 0;
+ screen->terms[i].y = 0;
+ }
/* Draw the screen. */
for (i = 0; i < screen->nterms; i++)
grub_menu_init_page (0, 1, screen->terms[i].term);