From dee5057594f6d3a20f9d574a3fd74e91193dffa1 Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sat, 21 Aug 2010 00:57:12 +0200 Subject: [PATCH] * loader/multiboot.c (grub_cmd_module): Don't unzip module if --nounzip is passed. --- ChangeLog | 5 +++++ loader/multiboot.c | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e840254ec..71a62267b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-08-21 Vladimir Serbinenko + + * loader/multiboot.c (grub_cmd_module): Don't unzip module if + --nounzip is passed. + 2010-08-20 Vladimir Serbinenko USB hotunplugging and USB serial support. diff --git a/loader/multiboot.c b/loader/multiboot.c index 77a732838..b4ea8bf21 100644 --- a/loader/multiboot.c +++ b/loader/multiboot.c @@ -295,6 +295,17 @@ grub_cmd_module (grub_command_t cmd __attribute__ ((unused)), grub_ssize_t size; char *module = 0; grub_err_t err; + int nounzip = 0; + + if (argc == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "no module specified"); + + if (grub_strcmp (argv[0], "--nounzip") == 0) + { + argv++; + argc--; + nounzip = 1; + } if (argc == 0) return grub_error (GRUB_ERR_BAD_ARGUMENT, "no module specified"); @@ -303,7 +314,10 @@ grub_cmd_module (grub_command_t cmd __attribute__ ((unused)), return grub_error (GRUB_ERR_BAD_ARGUMENT, "you need to load the multiboot kernel first"); - file = grub_gzfile_open (argv[0], 1); + if (nounzip) + file = grub_file_open (argv[0]); + else + file = grub_gzfile_open (argv[0], 1); if (! file) return grub_errno;