/// <summary> /// Checks that the given input files all exist and are under the given base directory /// </summary> /// <param name="InputFiles">Input files to check</param> /// <param name="BaseDirectory">Base directory for files</param> /// <param name="bResult">Set to false if a check fails, otherwise unmodified</param> /// <returns>List of valid files</returns> public static List <FileReference> CheckInputFiles(IEnumerable <FileReference> InputFiles, DirectoryReference BaseDirectory, ref bool bResult) { List <FileReference> Files = new List <FileReference>(); foreach (FileReference InputFile in InputFiles) { if (!InputFile.IsUnderDirectory(BaseDirectory)) { CommandUtils.LogError("Source file '{0}' is not under '{1}'", InputFile, BaseDirectory); bResult = false; } else if (!InputFile.Exists()) { CommandUtils.LogError("Source file '{0}' does not exist", InputFile); bResult = false; } else { Files.Add(InputFile); } } return(Files); }