X-Git-Url: https://code.delx.au/refind/blobdiff_plain/c965a3bde0196b74d77b8681b76369aba0f4e657..c1935b0f6d9272cfa51e9a6c1e342c252ea41b1f:/refind/config.c diff --git a/refind/config.c b/refind/config.c index c22b830..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);