X-Git-Url: https://code.delx.au/refind/blobdiff_plain/9c70725aec18f6acdc24de6d04e8d67be775a3c3..c1935b0f6d9272cfa51e9a6c1e342c252ea41b1f:/refind/config.c diff --git a/refind/config.c b/refind/config.c index 258aa06..d52ca9f 100644 --- a/refind/config.c +++ b/refind/config.c @@ -222,7 +222,7 @@ static CHAR16 *ReadLine(REFIT_FILE *File) UINTN ReadTokenLine(IN REFIT_FILE *File, OUT CHAR16 ***TokenList) { BOOLEAN LineFinished, IsQuoted = FALSE; - CHAR16 *Line, *Token, *p; + CHAR16 *Line, *Token, *p, *Temp; UINTN TokenCount = 0; *TokenList = NULL; @@ -251,6 +251,10 @@ UINTN ReadTokenLine(IN REFIT_FILE *File, OUT CHAR16 ***TokenList) while (*p && *p != '"' && ((*p != ' ' && *p != '\t' && *p != '=' && *p != '#' && *p != ',') || IsQuoted)) { if ((*p == '/') && !IsQuoted) // Switch Unix-style to DOS-style directory separators *p = '\\'; + if (*p == '|') { + Temp = StrDuplicate(&p[1]); + StrCpy(p, Temp); + } p++; } // if if (*p == '"') @@ -325,7 +329,7 @@ VOID ReadConfig(VOID) MyFreePool(GlobalConfig.DontScanDirs); GlobalConfig.DontScanDirs = StrDuplicate(SelfDirPath); MyFreePool(GlobalConfig.DontScanFiles); - GlobalConfig.DontScanFiles = DONT_SCAN_FILES; + GlobalConfig.DontScanFiles = StrDuplicate(DONT_SCAN_FILES); for (;;) { TokenCount = ReadTokenLine(&File, &TokenList); @@ -649,7 +653,7 @@ static LOADER_ENTRY * AddStanzaEntries(REFIT_FILE *File, REFIT_VOLUME *Volume, C return(Entry); } // static VOID AddStanzaEntries() -// Read the user-configured loaders file, refind_loaders.conf, and add or delete +// Read the user-configured menu entries from refind.conf and add or delete // entries based on the contents of that file.... VOID ScanUserConfigured(VOID) { @@ -660,6 +664,7 @@ VOID ScanUserConfigured(VOID) CHAR16 *Title = NULL; UINTN TokenCount, size; LOADER_ENTRY *Entry; +// REFIT_MENU_SCREEN *SubScreen; if (FileExists(SelfDir, CONFIG_FILE_NAME)) { Status = ReadFile(SelfDir, CONFIG_FILE_NAME, &File, &size);