From 1f75c529d5309defb33c8c216422003eee1248a5 Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sun, 22 Jul 2012 16:23:46 +0200 Subject: [PATCH 012/364] * grub-core/normal/autofs.c (autoload_fs_module): Save and restore filter state. --- ChangeLog | 5 +++++ grub-core/normal/autofs.c | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 35e76af..38374a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-07-22 Vladimir Serbinenko + * grub-core/normal/autofs.c (autoload_fs_module): Save and restore + filter state. + +2012-07-22 Vladimir Serbinenko + Fix coreboot compilation. * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ... diff --git a/grub-core/normal/autofs.c b/grub-core/normal/autofs.c index 0b27abf..721b9c3 100644 --- a/grub-core/normal/autofs.c +++ b/grub-core/normal/autofs.c @@ -32,11 +32,21 @@ static int autoload_fs_module (void) { grub_named_list_t p; + int ret = 0; + grub_file_filter_t grub_file_filters_was[GRUB_FILE_FILTER_MAX]; + + grub_memcpy (grub_file_filters_was, grub_file_filters_enabled, + sizeof (grub_file_filters_enabled)); + grub_memcpy (grub_file_filters_enabled, grub_file_filters_all, + sizeof (grub_file_filters_enabled)); while ((p = fs_module_list) != NULL) { if (! grub_dl_get (p->name) && grub_dl_load (p->name)) - return 1; + { + ret = 1; + break; + } if (grub_errno) grub_print_error (); @@ -46,7 +56,10 @@ autoload_fs_module (void) grub_free (p); } - return 0; + grub_memcpy (grub_file_filters_enabled, grub_file_filters_was, + sizeof (grub_file_filters_enabled)); + + return ret; } /* Read the file fs.lst for auto-loading. */ -- 1.8.1.4