{
internal static partial class Libc
{
- [DllImport(Libraries.Libc, EntryPoint = "free", CallingConvention = CallingConvention.Cdecl)]
- internal static extern int Free(IntPtr ptr);
-
[DllImport(Libraries.Libc, EntryPoint = "getenv")]
internal static extern IntPtr GetEnvironmentVariable(string name);
{
IntPtr charArr = Marshal.ReadIntPtr(valuePtr, IntPtr.Size * i);
stringList.Add(Marshal.PtrToStringAnsi(charArr));
- _ = Interop.Libc.Free(charArr);
+ Marshal.FreeHGlobal(charArr);
}
- _ = Interop.Libc.Free(valuePtr);
+ Marshal.FreeHGlobal(valuePtr);
value = stringList;
return true;
}
{
IntPtr charArr = Marshal.ReadIntPtr(valuePtr, IntPtr.Size * i);
valueArray.Add(Marshal.PtrToStringAnsi(charArr));
- _ = Interop.Libc.Free(charArr);
+ Marshal.FreeHGlobal(charArr);
}
- _ = Interop.Libc.Free(valuePtr);
+ Marshal.FreeHGlobal(valuePtr);
}
return valueArray;
}