OPENSSL_free() public static method

//#define OPENSSL_free(addr) CRYPTO_free(addr)
public static OPENSSL_free ( IntPtr p ) : void
p IntPtr
return void
Example #1
0
        public static string PtrToStringAnsi(IntPtr ptr, bool hasOwnership)
        {
            var len = 0;

            for (var i = 0; i < 1024; i++, len++)
            {
                var octet = Marshal.ReadByte(ptr, i);
                if (octet == 0)
                {
                    break;
                }
            }

            if (len == 1024)
            {
                return("Invalid string");
            }

            var buf = new byte[len];

            Marshal.Copy(ptr, buf, 0, len);
            if (hasOwnership)
            {
                Native.OPENSSL_free(ptr);
            }

            return(Encoding.ASCII.GetString(buf, 0, len));
        }