]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2006-04-30 Marco Gerards <marco@gnu.org>
authormarco_g <marco_g@localhost>
Sun, 30 Apr 2006 20:48:05 +0000 (20:48 +0000)
committermarco_g <marco_g@localhost>
Sun, 30 Apr 2006 20:48:05 +0000 (20:48 +0000)
* commands/configfile.c (grub_cmd_source): New function.
(GRUB_MOD_INIT): Register the commands `source' and `.'.
(GRUB_MOD_FINI): De-register the commands `source' and `.'.

ChangeLog
commands/configfile.c

index 2d4d62559de6ed0939c3c9ad8e31eae93bb7e156..2dc1b5e4d6ee1dedbcd70eb729932a7e36d5d9c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-30  Marco Gerards  <marco@gnu.org>
+
+       * commands/configfile.c (grub_cmd_source): New function.
+       (GRUB_MOD_INIT): Register the commands `source' and `.'.
+       (GRUB_MOD_FINI): De-register the commands `source' and `.'.
+
 2006-04-30  Marco Gerards  <marco@gnu.org>
 
        * normal/execute.c (grub_script_execute_cmd): Change the return
index a411399cddb51de835c805fd7e47a18d3c15654d..81ca70e7af2f43588e5c5bc92f27bd28af73a73a 100644 (file)
@@ -40,6 +40,19 @@ grub_cmd_configfile (struct grub_arg_list *state __attribute__ ((unused)),
   return 0;
 }
 
+static grub_err_t
+grub_cmd_source (struct grub_arg_list *state __attribute__ ((unused)),
+                int argc, char **args)
+
+{
+  if (argc != 1)
+    return grub_error (GRUB_ERR_BAD_ARGUMENT, "file name required");
+
+  grub_normal_execute (args[0], 1);
+
+  return 0;
+}
+
 \f
 GRUB_MOD_INIT(configfile)
 {
@@ -47,9 +60,19 @@ GRUB_MOD_INIT(configfile)
   grub_register_command ("configfile", grub_cmd_configfile,
                         GRUB_COMMAND_FLAG_BOTH, "configfile FILE",
                         "Load another config file.", 0);
+  grub_register_command ("source", grub_cmd_source,
+                        GRUB_COMMAND_FLAG_BOTH, "source FILE",
+                        "Load another config file without changing context.",
+                        0);
+  grub_register_command (".", grub_cmd_source,
+                        GRUB_COMMAND_FLAG_BOTH, ". FILE",
+                        "Load another config file without changing context.",
+                        0);
 }
 
 GRUB_MOD_FINI(configfile)
 {
   grub_unregister_command ("configfile");
+  grub_unregister_command ("source");
+  grub_unregister_command (".");
 }