+2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
+ handling.
+
2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
= (struct grub_terminfo_input_state *) (termi->data);
if (data->npending)
{
+ int ret;
data->npending--;
- grub_memmove (data->input_buf, data->input_buf + 1, data->npending);
- return data->input_buf[0];
+ ret = data->input_buf[0];
+ grub_memmove (data->input_buf, data->input_buf + 1, data->npending
+ * sizeof (data->input_buf[0]));
+ return ret;
}
grub_terminfo_readkey (termi, data->input_buf,
if (data->npending)
{
+ int ret;
data->npending--;
- grub_memmove (data->input_buf, data->input_buf + 1, data->npending);
- return data->input_buf[0];
+ ret = data->input_buf[0];
+ grub_memmove (data->input_buf, data->input_buf + 1, data->npending
+ * sizeof (data->input_buf[0]));
+ return ret;
}
return GRUB_TERM_NO_KEY;