mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
[FREELDR] Make it more compatible with w2k3 ini file
This commit is contained in:
parent
e897a5654d
commit
34e76ade03
2 changed files with 37 additions and 7 deletions
|
@ -38,8 +38,15 @@ BOOLEAN IniFileInitialize(VOID)
|
||||||
if (Status != ESUCCESS)
|
if (Status != ESUCCESS)
|
||||||
{
|
{
|
||||||
ERR("Error while opening freeldr.ini, Status: %d\n", Status);
|
ERR("Error while opening freeldr.ini, Status: %d\n", Status);
|
||||||
UiMessageBoxCritical("Error opening freeldr.ini or file not found.\nYou need to re-install FreeLoader.");
|
|
||||||
return FALSE;
|
/* Try to open boot.ini */
|
||||||
|
Status = FsOpenFile("boot.ini", FrLdrBootPath, OpenReadOnly, &FileId);
|
||||||
|
if (Status != ESUCCESS)
|
||||||
|
{
|
||||||
|
ERR("Error while opening boot.ini, Status: %d\n", Status);
|
||||||
|
UiMessageBoxCritical("Error opening freeldr.ini/boot.ini or file not found.\nYou need to re-install FreeLoader.");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the file size */
|
/* Get the file size */
|
||||||
|
|
|
@ -126,12 +126,35 @@ LoadSettings(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Open the [FreeLoader] section and load the settings */
|
BOOLEAN FoundLoaderSection = FALSE;
|
||||||
if ((BootMgrInfo.FrLdrSection == 0) &&
|
PCSTR LoaderSections[] = {
|
||||||
!IniOpenSection("FreeLoader", &BootMgrInfo.FrLdrSection))
|
"FreeLoader",
|
||||||
|
"Boot Loader",
|
||||||
|
"FlexBoot",
|
||||||
|
"MultiBoot",
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Search for the first section in LoaderSections and load the settings,
|
||||||
|
* prioritizing the order in the file.
|
||||||
|
* If a section is already loaded, skip further checks. */
|
||||||
|
if (!BootMgrInfo.FrLdrSection)
|
||||||
{
|
{
|
||||||
UiMessageBoxCritical("Section [FreeLoader] not found in freeldr.ini");
|
for (ULONG i = 0; i < sizeof(LoaderSections) / sizeof(LoaderSections[0]); i++)
|
||||||
return;
|
{
|
||||||
|
PCSTR Section = LoaderSections[i];
|
||||||
|
|
||||||
|
if (IniOpenSection(Section, &BootMgrInfo.FrLdrSection))
|
||||||
|
{
|
||||||
|
FoundLoaderSection = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!FoundLoaderSection)
|
||||||
|
{
|
||||||
|
UiMessageBoxCritical("Bootloader Section not found in freeldr.ini");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the debug string. Always override it with the one from freeldr.ini */
|
/* Get the debug string. Always override it with the one from freeldr.ini */
|
||||||
|
|
Loading…
Reference in a new issue