X-Git-Url: https://code.delx.au/refind/blobdiff_plain/c88af30fa999cda624f7e9b77b3108e139457dd3..85f7e52b653f9e618ad57d511ed01db94ae3b2b3:/refind/config.c diff --git a/refind/config.c b/refind/config.c index 7e99dcf..63b0a22 100644 --- a/refind/config.c +++ b/refind/config.c @@ -284,7 +284,8 @@ static VOID HandleString(IN CHAR16 **TokenList, IN UINTN TokenCount, OUT CHAR16 } // static VOID HandleString() // Handle a parameter with a series of string arguments, to be added to a comma-delimited -// list +// list. Passes each token through the CleanUpPathNameSlashes() function to ensure +// consistency in subsequent comparisons of filenames. static VOID HandleStrings(IN CHAR16 **TokenList, IN UINTN TokenCount, OUT CHAR16 **Target) { UINTN i; @@ -292,8 +293,10 @@ static VOID HandleStrings(IN CHAR16 **TokenList, IN UINTN TokenCount, OUT CHAR16 FreePool(*Target); *Target = NULL; } // if - for (i = 1; i < TokenCount; i++) - MergeStrings(Target, TokenList[i], L','); + for (i = 1; i < TokenCount; i++) { + CleanUpPathNameSlashes(TokenList[i]); + MergeStrings(Target, TokenList[i], L','); + } } // static VOID HandleStrings() // read config file @@ -356,6 +359,9 @@ VOID ReadConfig(VOID) } else if (StriCmp(TokenList[0], L"also_scan_dirs") == 0) { HandleStrings(TokenList, TokenCount, &(GlobalConfig.AlsoScan)); + } else if ((StriCmp(TokenList[0], L"don't_scan_dirs") == 0) || (StriCmp(TokenList[0], L"dont_scan_dirs") == 0)) { + HandleStrings(TokenList, TokenCount, &(GlobalConfig.DontScan)); + } else if (StriCmp(TokenList[0], L"scan_driver_dirs") == 0) { HandleStrings(TokenList, TokenCount, &(GlobalConfig.DriverDirs));