]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-12-21 Andreas Born <futur.andy@googlemail.com>
authorAndreas Born <futur.andy@googlemail.com>
Mon, 21 Dec 2009 14:20:12 +0000 (15:20 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 21 Dec 2009 14:20:12 +0000 (15:20 +0100)
* kern/env.c (grub_env_export): Create nonexistent variables before
exporting.

ChangeLog
kern/env.c

index da58c702446ad02c1e0167d6b128cc2c9786e0e5..82701f5168356e8e2fb0a158c62838dffa90494e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
+2009-12-21 Andreas Born  <futur.andy@googlemail.com>
+
+       * kern/env.c (grub_env_export): Create nonexistent variables before
+       exporting.
+
 2009-12-20 Carles Pina i Estany  <carles@pina.cat>
+
        * include/grub/auth.h: Include `<grub/i18n.h>'.
        (GRUB_GET_PASSWORD): Gettextizze string.
        * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
index 750902af8f1767899dff36641c3afa9eba2c4867..f6fb5a492fbfc4398edf4ade4d6fb1baac40e0f5 100644 (file)
@@ -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;
 }