Recurity.Swf.CwsFile.Uncompress C# (CSharp) Method

Uncompress() public method

Uncompresses ZLIB compressed files
public Uncompress ( Stream input ) : Stream
input Stream The ZLIB compressed file as stream
return Stream
        public Stream Uncompress(Stream input)
        {
            MemoryStream returnStream = new MemoryStream();

            byte[] zipData = new byte[input.Length - 8];
            input.Read(zipData, 0, (int)(input.Length - 8));

            byte[] buffer = new byte[input.Length * 4];

            Inflater inflater = new Inflater(false);
            inflater.SetInput(zipData);

            try
            {
                int bytesInflated = inflater.Inflate(buffer);
                WriteHeader(returnStream);
                returnStream.Write(buffer, 0, bytesInflated);
                return returnStream;
            }
            catch (Exception e)
            {
                SwfFormatException s = new SwfFormatException(e.Message);
                Log.Error(this, s.Message);
                throw s;
            }
        }