2008-01-05 Robert Millan <rmh@aybabtu.com>
* kern/env.c (grub_env_context_open): Propagate hooks for global variables to new context. * kern/main.c (grub_set_root_dev): Export `root' variable.
This commit is contained in:
parent
ddf8f6add7
commit
182dd4e568
3 changed files with 18 additions and 7 deletions
|
@ -1,3 +1,10 @@
|
|||
2008-01-05 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* kern/env.c (grub_env_context_open): Propagate hooks for global
|
||||
variables to new context.
|
||||
|
||||
* kern/main.c (grub_set_root_dev): Export `root' variable.
|
||||
|
||||
2008-01-05 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
|
||||
|
|
15
kern/env.c
15
kern/env.c
|
@ -1,7 +1,7 @@
|
|||
/* env.c - Environment variables */
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2003,2005,2006,2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2003,2005,2006,2007,2008 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -96,11 +96,14 @@ grub_env_context_open (void)
|
|||
for (var = context->prev->vars[i]; var; var = var->next)
|
||||
{
|
||||
if (var->type == GRUB_ENV_VAR_GLOBAL)
|
||||
if (grub_env_set (var->name, var->value) != GRUB_ERR_NONE)
|
||||
{
|
||||
grub_env_context_close ();
|
||||
return grub_errno;
|
||||
}
|
||||
{
|
||||
if (grub_env_set (var->name, var->value) != GRUB_ERR_NONE)
|
||||
{
|
||||
grub_env_context_close ();
|
||||
return grub_errno;
|
||||
}
|
||||
grub_register_variable_hook (var->name, var->read_hook, var->write_hook);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* main.c - the kernel main routine */
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2002,2003,2005 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2002,2003,2005,2006,2008 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -78,6 +78,7 @@ grub_set_root_dev (void)
|
|||
const char *prefix;
|
||||
|
||||
grub_register_variable_hook ("root", 0, grub_env_write_root);
|
||||
grub_env_export ("root");
|
||||
|
||||
prefix = grub_env_get ("prefix");
|
||||
|
||||
|
|
Loading…
Reference in a new issue