*/
/*
- * Modifications copyright (c) 2012 Roderick W. Smith
+ * Modifications copyright (c) 2012-2013 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
static BOOLEAN KeepReading(IN OUT CHAR16 *p, IN OUT BOOLEAN *IsQuoted) {
BOOLEAN MoreToRead = FALSE;
CHAR16 *Temp = NULL;
-// while (*p && *p != '"' && ((*p != ' ' && *p != '\t' && *p != '=' && *p != '#' && *p != ',') || IsQuoted)) {
if ((p == NULL) || (IsQuoted == NULL))
return FALSE;
MyFreePool(GlobalConfig.DontScanDirs);
if (SelfVolume) {
if (SelfVolume->VolName) {
- SelfPath = StrDuplicate(SelfVolume->VolName);
+ SelfPath = SelfVolume->VolName ? StrDuplicate(SelfVolume->VolName) : NULL;
} else {
SelfPath = AllocateZeroPool(256 * sizeof(CHAR16));
if (SelfPath != NULL)
GlobalConfig.DontScanDirs = SelfPath;
MyFreePool(GlobalConfig.DontScanFiles);
GlobalConfig.DontScanFiles = StrDuplicate(DONT_SCAN_FILES);
+ MergeStrings(&(GlobalConfig.DontScanFiles), MOK_NAMES, L',');
+ MyFreePool(GlobalConfig.DontScanVolumes);
+ GlobalConfig.DontScanVolumes = StrDuplicate(DONT_SCAN_VOLUMES);
} // if
if (!FileExists(SelfDir, FileName)) {
HandleStrings(TokenList, TokenCount, &(GlobalConfig.AlsoScan));
} else if ((StriCmp(TokenList[0], L"don't_scan_volumes") == 0) || (StriCmp(TokenList[0], L"dont_scan_volumes") == 0)) {
- HandleStrings(TokenList, TokenCount, &(GlobalConfig.AlsoScan));
// Note: Don't use HandleStrings() because it modifies slashes, which might be present in volume name
MyFreePool(GlobalConfig.DontScanVolumes);
GlobalConfig.DontScanVolumes = NULL;
GlobalConfig.ShowTools[i - 1] = TAG_APPLE_RECOVERY;
} else if (StriCmp(FlagName, L"mok_tool") == 0) {
GlobalConfig.ShowTools[i - 1] = TAG_MOK_TOOL;
+ } else if (StriCmp(FlagName, L"firmware") == 0) {
+ GlobalConfig.ShowTools[i - 1] = TAG_FIRMWARE;
} else {
Print(L" unknown showtools flag: '%s'\n", FlagName);
}
else
GlobalConfig.RequestedScreenHeight = 0;
+ } else if (StriCmp(TokenList[0], L"screensaver") == 0) {
+ HandleInt(TokenList, TokenCount, &(GlobalConfig.ScreensaverTime));
+
} else if (StriCmp(TokenList[0], L"use_graphics_for") == 0) {
GlobalConfig.GraphicsFor = 0;
for (i = 1; i < TokenCount; i++) {
}
} // for (graphics_on tokens)
+ } else if ((StriCmp(TokenList[0], L"font") == 0) && (TokenCount == 2)) {
+ egLoadFont(TokenList[1]);
+
} else if (StriCmp(TokenList[0], L"scan_all_linux_kernels") == 0) {
if ((TokenCount >= 2) && (StriCmp(TokenList[1], L"0") == 0)) {
GlobalConfig.ScanAllLinux = FALSE;
} else if ((StriCmp(TokenList[0], L"icon") == 0) && (TokenCount > 1)) {
MyFreePool(Entry->me.Image);
- Entry->me.Image = LoadIcns(CurrentVolume->RootDir, TokenList[1], 128);
+ Entry->me.Image = egLoadIcon(CurrentVolume->RootDir, TokenList[1], 128);
if (Entry->me.Image == NULL) {
Entry->me.Image = DummyImage(128);
}
} // if
if (!DefaultsSet)
- SetLoaderDefaults(Entry, L"\\EFI\\BOOT\\nemo.efi", CurrentVolume); // user included no entry; use bogus one
+ SetLoaderDefaults(Entry, L"\\EFI\\BOOT\\nemo.efi", CurrentVolume); // user included no "loader" line; use bogus one
return(Entry);
} // static VOID AddStanzaEntries()