+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/terminal.c (grub_cmd_terminal_input)
+ (grub_cmd_terminal_output): Check return of terminal init()
+ routines, and abort if errors are raised.
+
2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h: Fix include pathes.
break;
if (term)
{
+ if (term->init && term->init () != GRUB_ERR_NONE)
+ return grub_errno;
+
grub_list_remove (GRUB_AS_LIST_P (&(grub_term_inputs_disabled)),
GRUB_AS_LIST (term));
- if (term->init)
- term->init ();
grub_list_push (GRUB_AS_LIST_P (&grub_term_inputs),
GRUB_AS_LIST (term));
}
break;
if (term)
{
+ if (term->init && term->init () != GRUB_ERR_NONE)
+ return grub_errno;
+
grub_list_remove (GRUB_AS_LIST_P (&(grub_term_inputs_disabled)),
GRUB_AS_LIST (term));
- if (term->init)
- term->init ();
grub_list_push (GRUB_AS_LIST_P (&grub_term_inputs),
GRUB_AS_LIST (term));
}
break;
if (term)
{
+ if (term->init && term->init () != GRUB_ERR_NONE)
+ return grub_errno;
+
grub_list_remove (GRUB_AS_LIST_P (&(grub_term_outputs_disabled)),
GRUB_AS_LIST (term));
- if (term->init)
- term->init ();
grub_list_push (GRUB_AS_LIST_P (&grub_term_outputs),
GRUB_AS_LIST (term));
}
break;
if (term)
{
+ if (term->init && term->init () != GRUB_ERR_NONE)
+ return grub_errno;
+
grub_list_remove (GRUB_AS_LIST_P (&(grub_term_outputs_disabled)),
GRUB_AS_LIST (term));
- if (term->init)
- term->init ();
grub_list_push (GRUB_AS_LIST_P (&grub_term_outputs),
GRUB_AS_LIST (term));
}