We are on legacy BIOS if GetFirmwareEnvironmentVariable fails (returns
zero) *and* extended error information is ERROR_INVALID_FUNCTION.

Cf. 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325%28v=vs.85%29.aspx

---
 grub-core/osdep/windows/platform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/osdep/windows/platform.c 
b/grub-core/osdep/windows/platform.c
index f2b9d71..d217efe 100644
--- a/grub-core/osdep/windows/platform.c
+++ b/grub-core/osdep/windows/platform.c
@@ -100,7 +100,7 @@ get_platform (void)
 
   if (!func_GetFirmwareEnvironmentVariableW (L"BootOrder", 
GRUB_EFI_GLOBAL_VARIABLE_GUID_WINDOWS_STR,
                                             buffer, sizeof (buffer))
-      && GetLastError () != ERROR_INVALID_FUNCTION)
+      && GetLastError () == ERROR_INVALID_FUNCTION)
     {
       platform = PLAT_BIOS;
       return;
-- 
tg: (e8f0782..) u/windows-efi-detection (depends on: master)

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to