public SdpArchive(Stream input)
        {
            files.Clear();
            var r = new BinaryReader(input, Encoding.ASCII);

            var temp = new Byte[4];
            while (r.Read(temp, 0, 1) > 0)
            {
                int nameLen = temp[0];
                var pi = new PoolFileInfo { Name = new string(r.ReadChars(nameLen)), Hash = new Hash(r.ReadBytes(Hash.Size)) };
                temp = r.ReadBytes(4);
                pi.Crc = ParseUint32(temp);
                temp = r.ReadBytes(4);
                pi.UncompressedSize = ParseUint32(temp);
                files.Add(pi);
            }
        }
Пример #2
0
        public SdpArchive(Stream input)
        {
            files.Clear();
            var r = new BinaryReader(input, Encoding.ASCII);

            var temp = new Byte[4];

            while (r.Read(temp, 0, 1) > 0)
            {
                int nameLen = temp[0];
                var pi      = new PoolFileInfo {
                    Name = new string(r.ReadChars(nameLen)), Hash = new Hash(r.ReadBytes(Hash.Size))
                };
                temp   = r.ReadBytes(4);
                pi.Crc = ParseUint32(temp);
                temp   = r.ReadBytes(4);
                pi.UncompressedSize = ParseUint32(temp);
                files.Add(pi);
            }
        }