#include "BdsHelper.h"
#include "legacy.h"
+#include "mystrings.h"
#include "../refind/screen.h"
-#include "refit_call_wrapper.h"
+#include "../refind/lib.h"
+#include "../include/refit_call_wrapper.h"
EFI_GUID gEfiLegacyBootProtocolGuid = { 0xdb9a1e3d, 0x45cb, 0x4abb, { 0x85, 0x3b, 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d }};
// Set devices of a particular type to BootPriority of 0 or 1. 0 is the highest priority.
if (LocalBbsTable[Idx].DeviceType == OptionBBS->DeviceType) {
- if (StriCmp(Desc, Option->Description) == 0) {
+ if (MyStriCmp(Desc, Option->Description)) {
// This entry exactly matches what we're looking for; make it highest priority
LocalBbsTable[Idx].BootPriority = 0;
} else {
// in priority. Done mainly as a fallback in case of string-matching weirdness.
LocalBbsTable[Idx].BootPriority = 1;
} // if/else
- } // if
+ } else if (LocalBbsTable[Idx].BootPriority <= 1) {
+ // Something's got a high enough boot priority to interfere with booting
+ // our chosen entry, so bump it down a bit....
+ LocalBbsTable[Idx].BootPriority = 2;
+ } // if/else if
// Print (
// L" %02x: %04x %02x/%02x/%02x %02x/%02x %04x %04x %04x:%04x\n",
// Print(L"%s\n", Desc);
} // for
+// PauseForKey();
}
/**