Add grub-fstest option to uncompress data for commands.

* util/grub-fstest.c (uncompress): New var.
(options): New option -u.
This commit is contained in:
Szymon Janc 2011-08-20 13:04:38 +02:00
parent fe8d4a7bc2
commit 7dc3c6863e
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2011-08-20 Szymon Janc <szymon@janc.net.pl>
Add grub-fstest option to uncompress data for commands.
* util/grub-fstest.c (uncompress): New var.
(options): New option -u.
2011-08-20 Szymon Janc <szymon@janc.net.pl> 2011-08-20 Szymon Janc <szymon@janc.net.pl>
* grub-core/loader/i386/linux.c (grub_linux_setup_video): Add * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add

View file

@ -68,6 +68,7 @@ enum {
#define BUF_SIZE 32256 #define BUF_SIZE 32256
static grub_disk_addr_t skip, leng; static grub_disk_addr_t skip, leng;
static int uncompress = 0;
static void static void
read_file (char *pathname, int (*hook) (grub_off_t ofs, char *buf, int len)) read_file (char *pathname, int (*hook) (grub_off_t ofs, char *buf, int len))
@ -111,7 +112,8 @@ read_file (char *pathname, int (*hook) (grub_off_t ofs, char *buf, int len))
return; return;
} }
grub_file_filter_disable_compression (); if (uncompress == 0)
grub_file_filter_disable_compression ();
file = grub_file_open (pathname); file = grub_file_open (pathname);
if (!file) if (!file)
{ {
@ -409,6 +411,7 @@ static struct argp_option options[] = {
{"debug", 'd', "S", 0, N_("Set debug environment variable."), 2}, {"debug", 'd', "S", 0, N_("Set debug environment variable."), 2},
{"crypto", 'C', NULL, OPTION_ARG_OPTIONAL, N_("Mount crypto devices."), 2}, {"crypto", 'C', NULL, OPTION_ARG_OPTIONAL, N_("Mount crypto devices."), 2},
{"verbose", 'v', NULL, OPTION_ARG_OPTIONAL, N_("Print verbose messages."), 2}, {"verbose", 'v', NULL, OPTION_ARG_OPTIONAL, N_("Print verbose messages."), 2},
{"uncompress", 'u', NULL, OPTION_ARG_OPTIONAL, N_("Uncompress data."), 2},
{0, 0, 0, 0, 0, 0} {0, 0, 0, 0, 0, 0}
}; };
@ -469,6 +472,10 @@ argp_parser (int key, char *arg, struct argp_state *state)
verbosity++; verbosity++;
return 0; return 0;
case 'u':
uncompress = 1;
return 0;
case ARGP_KEY_END: case ARGP_KEY_END:
if (args_count < num_disks) if (args_count < num_disks)
{ {