From: Andreas Born Date: Mon, 21 Dec 2009 14:20:12 +0000 (+0100) Subject: 2009-12-21 Andreas Born X-Git-Tag: 1.98~299 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0175d51f4953c333535b7939de0f926f85ae2856;p=thirdparty%2Fgrub.git 2009-12-21 Andreas Born * kern/env.c (grub_env_export): Create nonexistent variables before exporting. --- diff --git a/ChangeLog b/ChangeLog index da58c7024..82701f516 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ +2009-12-21 Andreas Born + + * kern/env.c (grub_env_export): Create nonexistent variables before + exporting. + 2009-12-20 Carles Pina i Estany - + * include/grub/auth.h: Include `'. (GRUB_GET_PASSWORD): Gettextizze string. * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from diff --git a/kern/env.c b/kern/env.c index 750902af8..f6fb5a492 100644 --- a/kern/env.c +++ b/kern/env.c @@ -170,8 +170,16 @@ grub_env_export (const char *name) struct grub_env_var *var; var = grub_env_find (name); - if (var) - var->type = GRUB_ENV_VAR_GLOBAL; + if (! var) + { + grub_err_t err; + + err = grub_env_set (name, ""); + if (err) + return err; + var = grub_env_find (name); + } + var->type = GRUB_ENV_VAR_GLOBAL; return GRUB_ERR_NONE; }