Fixed bug which causes some commands to be masked
This commit is contained in:
parent
8fbfe0d68b
commit
024478a2d8
1 changed files with 13 additions and 5 deletions
|
@ -78,14 +78,22 @@ read_command_list (void)
|
||||||
if (file)
|
if (file)
|
||||||
{
|
{
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
|
grub_command_t ptr, last = 0, next;
|
||||||
|
|
||||||
/* Override previous commands.lst. */
|
/* Override previous commands.lst. */
|
||||||
while (grub_command_list)
|
for (ptr = grub_command_list; ptr; ptr = next)
|
||||||
{
|
{
|
||||||
grub_command_t tmp;
|
next = ptr->next;
|
||||||
tmp = grub_command_list->next;
|
if (ptr->func == grub_dyncmd_dispatcher)
|
||||||
grub_free (grub_command_list);
|
{
|
||||||
grub_command_list = tmp;
|
if (last)
|
||||||
|
last->next = ptr->next;
|
||||||
|
else
|
||||||
|
grub_command_list = ptr->next;
|
||||||
|
grub_free (ptr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
last = ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (;; grub_free (buf))
|
for (;; grub_free (buf))
|
||||||
|
|
Loading…
Reference in a new issue