public ReaderDirEntry GetEntryByName(string name)
        {
            bool   anyVerMatch = name.IndexOf(';') < 0;
            string normName    = IsoUtilities.NormalizeFileName(name).ToUpper(CultureInfo.InvariantCulture);

            if (anyVerMatch)
            {
                normName = normName.Substring(0, normName.LastIndexOf(';') + 1);
            }

            foreach (ReaderDirEntry r in _records)
            {
                string toComp = IsoUtilities.NormalizeFileName(r.FileName).ToUpper(CultureInfo.InvariantCulture);
                if (!anyVerMatch && toComp == normName)
                {
                    return(r);
                }
                if (anyVerMatch && toComp.StartsWith(normName, StringComparison.Ordinal))
                {
                    return(r);
                }
            }

            return(null);
        }
Пример #2
0
 internal BuildFileInfo(string name, BuildDirectoryInfo parent, Stream source)
     : base(IsoUtilities.NormalizeFileName(name), MakeShortFileName(name, parent))
 {
     Parent         = parent;
     _contentStream = source;
     _contentSize   = _contentStream.Length;
 }
Пример #3
0
 internal BuildFileInfo(string name, BuildDirectoryInfo parent, byte[] content)
     : base(IsoUtilities.NormalizeFileName(name), MakeShortFileName(name, parent))
 {
     Parent       = parent;
     _contentData = content;
     _contentSize = content.Length;
 }
Пример #4
0
        internal BuildFileInfo(string name, BuildDirectoryInfo parent, string content)
            : base(IsoUtilities.NormalizeFileName(name), MakeShortFileName(name, parent))
        {
            Parent       = parent;
            _contentPath = content;
            _contentSize = new FileInfo(_contentPath).Length;

            CreationTime = new FileInfo(_contentPath).LastWriteTimeUtc;
        }