]> code.delx.au - refind/blobdiff - refind/config.c
Can now specify complete paths, optionally including volumes, in
[refind] / refind / config.c
index 103436ebf5179ede4aa86ea4158317b326cc3eba..c56c54f1332d3e14fd028a24397cd02754ac4e9d 100644 (file)
@@ -334,7 +334,6 @@ static VOID HandleStrings(IN CHAR16 **TokenList, IN UINTN TokenCount, OUT CHAR16
    BOOLEAN AddMode = FALSE;
 
    if ((TokenCount > 2) && (StriCmp(TokenList[1], L"+") == 0)) {
-      Print(L"Entering add mode in HandleStrings for '%s'\n", TokenList[0]);
       AddMode = TRUE;
    }
 
@@ -442,6 +441,7 @@ VOID ReadConfig(CHAR16 *FileName)
        MergeStrings(&(GlobalConfig.DontScanFiles), MOK_NAMES, L',');
        MyFreePool(GlobalConfig.DontScanVolumes);
        GlobalConfig.DontScanVolumes = StrDuplicate(DONT_SCAN_VOLUMES);
+       GlobalConfig.WindowsRecoveryFiles = StrDuplicate(WINDOWS_RECOVERY_FILES);
     } // if
 
     if (!FileExists(SelfDir, FileName)) {
@@ -518,6 +518,9 @@ VOID ReadConfig(CHAR16 *FileName)
         } else if ((StriCmp(TokenList[0], L"don't_scan_files") == 0) || (StriCmp(TokenList[0], L"dont_scan_files") == 0)) {
            HandleStrings(TokenList, TokenCount, &(GlobalConfig.DontScanFiles));
 
+        } else if (StriCmp(TokenList[0], L"windows_recovery_files") == 0) {
+           HandleStrings(TokenList, TokenCount, &(GlobalConfig.WindowsRecoveryFiles));
+
         } else if (StriCmp(TokenList[0], L"scan_driver_dirs") == 0) {
             HandleStrings(TokenList, TokenCount, &(GlobalConfig.DriverDirs));
 
@@ -539,6 +542,8 @@ VOID ReadConfig(CHAR16 *FileName)
                    GlobalConfig.ShowTools[i - 1] = TAG_SHUTDOWN;
                 } else if (StriCmp(FlagName, L"apple_recovery") == 0) {
                    GlobalConfig.ShowTools[i - 1] = TAG_APPLE_RECOVERY;
+                } else if (StriCmp(FlagName, L"windows_recovery") == 0) {
+                   GlobalConfig.ShowTools[i - 1] = TAG_WINDOWS_RECOVERY;
                 } else if (StriCmp(FlagName, L"mok_tool") == 0) {
                    GlobalConfig.ShowTools[i - 1] = TAG_MOK_TOOL;
                 } else if (StriCmp(FlagName, L"firmware") == 0) {
@@ -626,12 +631,8 @@ VOID ReadConfig(CHAR16 *FileName)
 
         FreeTokenLine(&TokenList, &TokenCount);
     }
-    Print(L"also_scan_dirs = '%s'\n", GlobalConfig.AlsoScan);
-    Print(L"dont_scan_dirs = '%s'\n", GlobalConfig.DontScanDirs);
-    Print(L"dont_scan_files = '%s'\n", GlobalConfig.DontScanFiles);
-    Print(L"scan_driver_dirs = '%s'\n", GlobalConfig.DriverDirs);
-    Print(L"use_graphics_for = %d\n", GlobalConfig.GraphicsFor);
-    PauseForKey();
+    if ((GlobalConfig.DontScanFiles) && (GlobalConfig.WindowsRecoveryFiles))
+       MergeStrings(&(GlobalConfig.DontScanFiles), GlobalConfig.WindowsRecoveryFiles, L',');
     MyFreePool(File.Buffer);
 } /* VOID ReadConfig() */