+2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Properly register serial terminfo.
+ Reported by: Jordan Uggla
+
+ * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
+ const.
+ (grub_serial_terminfo_output_template): Likewise.
+ (grub_cmd_serial): Register "serial" with terminfo.
+ (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
+ grub_serial_terminfo_output.
+
2010-11-05 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
return data->port->driver->fetch (data->port);
}
-struct grub_serial_input_state grub_serial_terminfo_input =
+const struct grub_serial_input_state grub_serial_terminfo_input_template =
{
.tinfo =
{
}
};
-struct grub_serial_output_state grub_serial_terminfo_output =
+const struct grub_serial_output_state grub_serial_terminfo_output_template =
{
.tinfo =
{
}
};
+struct grub_serial_input_state grub_serial_terminfo_input;
+
+struct grub_serial_output_state grub_serial_terminfo_output;
+
int registered = 0;
static struct grub_term_input grub_serial_term_input =
{
if (!registered)
{
+ grub_terminfo_output_register (&grub_serial_term_output, "vt100");
+
grub_term_register_input ("serial", &grub_serial_term_input);
grub_term_register_output ("serial", &grub_serial_term_output);
}
cmd = grub_register_extcmd ("serial", grub_cmd_serial, 0,
N_("[OPTIONS...]"),
N_("Configure serial port."), options);
+ grub_memcpy (&grub_serial_terminfo_output,
+ &grub_serial_terminfo_output_template,
+ sizeof (grub_serial_terminfo_output));
+
+ grub_memcpy (&grub_serial_terminfo_input,
+ &grub_serial_terminfo_input_template,
+ sizeof (grub_serial_terminfo_input));
+
#ifndef GRUB_MACHINE_EMU
grub_ns8250_init ();
#endif