SeasideResearch.LibCurlNet.Easy.ReadDelegate C# (CSharp) Method

ReadDelegate() private static method

private static ReadDelegate ( IntPtr buf, int sz, int nmemb, IntPtr parm ) : int
buf System.IntPtr
sz int
nmemb int
parm System.IntPtr
return int
        private static int ReadDelegate(IntPtr buf, int sz, int nmemb,
            IntPtr parm)
        {
            int bytes = sz * nmemb;
            byte[] b = new byte[bytes];
            GCHandle gch = (GCHandle)parm;
            Easy easy = (Easy)gch.Target;
            if (easy == null)
                return 0;
            if (easy.m_pfRead == null)
                return 0;
            int nRead = easy.m_pfRead(b, sz, nmemb, easy.m_readData);
            if (nRead > 0)
            {
                for (int i = 0; i < nRead; i++)
                    Marshal.WriteByte(buf, i, b[i]);
            }
            return nRead;
        }