ADBaseLibrary.Matroska.MatroskaExtensions.Ebml_Read_Sint C# (CSharp) Method

Ebml_Read_Sint() public static method

public static Ebml_Read_Sint ( this reader, int size, long &number ) : int
reader this
size int
number long
return int
        public static int Ebml_Read_Sint(this BinaryReader reader, int size, out long number)
        {
            int n = 1;

            if (size > 8)
                throw new ArgumentException("Invalid size");
            if (size == 0)
            {
                number = 0;
            }
            else
            {
                number = (sbyte)reader.ReadByte();
                while (n++ < size)
                {
                    byte b = reader.ReadByte();
                    number = (number << 8) | b;
                }
            }

            return 0;
        }