Ejemplo n.º 1
0
        /// <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);
        }