*q++ = *p++;
}
*q = 0;
-
+
} else if (File->Encoding == ENCODING_UTF16_LE) {
-
+
CHAR16 *p, *LineStart, *LineEnd;
-
+
p = File->Current16Ptr;
if (p >= File->End16Ptr)
return NULL;
-
+
LineStart = p;
for (; p < File->End16Ptr; p++)
if (*p == 13 || *p == 10)
if (*p != 13 && *p != 10)
break;
File->Current16Ptr = p;
-
+
LineLength = (UINTN)(LineEnd - LineStart) + 1;
Line = AllocatePool(LineLength * sizeof(CHAR16));
if (Line == NULL)
return NULL;
-
+
for (p = LineStart, q = Line; p < LineEnd; )
*q++ = *p++;
*q = 0;
-
+
} else
return NULL; // unsupported encoding
-
+
return Line;
}
}
}
+ } else if ((StriCmp(TokenList[0], L"icons_dir") == 0) && (TokenCount == 2)) {
+ if (GlobalConfig.IconsDir != NULL)
+ FreePool(GlobalConfig.IconsDir);
+ GlobalConfig.IconsDir = StrDuplicate(TokenList[1]);
+
} else if (StriCmp(TokenList[0], L"scanfor") == 0) {
for (i = 0; i < NUM_SCAN_OPTIONS; i++) {
if (i < TokenCount)
} else if (StriCmp(TokenList[0], L"textonly") == 0) {
GlobalConfig.TextOnly = TRUE;
-// } else if ((StriCmp(TokenList[0], L"}") == 0) || (StriCmp(TokenList[0], L"loader") == 0) ||
-// (StriCmp(TokenList[0], L"icon") == 0) || (StriCmp(TokenList[0], L"options") == 0)) {
-// // Do nothing; handled by ScanUserConfigured()
+ } else if ((StriCmp(TokenList[0], L"resolution") == 0) && (TokenCount == 3)) {
+ GlobalConfig.RequestedScreenWidth = Atoi(TokenList[1]);
+ GlobalConfig.RequestedScreenHeight = Atoi(TokenList[2]);
+
+ } else if (StriCmp(TokenList[0], L"scan_all_linux_kernels") == 0) {
+ GlobalConfig.ScanAllLinux = TRUE;
+
} else if ((StriCmp(TokenList[0], L"max_tags") == 0) && (TokenCount > 1)) {
GlobalConfig.MaxTags = Atoi(TokenList[1]);
}
return;
Volume = SelfVolume;
- // TODO: Figure out how to set volumes (on per-image basis, preferably)
while ((TokenCount = ReadTokenLine(&File, &TokenList)) > 0) {
if ((StriCmp(TokenList[0], L"menuentry") == 0) && (TokenCount > 1)) {