Example #1
0
 public unsafe uint WriteFrom(nsIInputStream aFromStream, uint aCount)
 {
     PreparePointer((int)aCount);
     aFromStream.Read(new IntPtr(CurrentPointer), aCount);
     MovePointer(aCount);
     return(aCount);
 }
 public unsafe uint WriteFrom( nsIInputStream aFromStream, uint aCount )
 {
     PreparePointer( ( int ) aCount );
     aFromStream.Read(new IntPtr(CurrentPointer), aCount);
     MovePointer( aCount );
     return aCount;
 }
Example #3
0
        public unsafe override int Read(byte[] buffer, int offset, int count)
        {
            uint ret;

            // strict values & buffer size check before using pointers
            if ((offset < 0) || (count <= 0))
            {
                return(0);
            }
            // offset >= 0 count>0
            if ((offset + count) > buffer.Length)
                return(0);

            fixed(byte *bufferPtr = buffer)
            {
                byte *writePtr = bufferPtr + offset;

                ret = _inputStream.Read(new IntPtr(writePtr), (uint)count);
            }

            return(( int )ret);
        }