forked from pythonnet/pythonnet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUtil.cs
More file actions
33 lines (31 loc) · 853 Bytes
/
Util.cs
File metadata and controls
33 lines (31 loc) · 853 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Runtime.InteropServices;
namespace Python.Runtime
{
internal class Util
{
internal static Int64 ReadCLong(IntPtr tp, int offset)
{
// On Windows, a C long is always 32 bits.
if (Runtime.IsWindows || Runtime.Is32Bit)
{
return Marshal.ReadInt32(tp, offset);
}
else
{
return Marshal.ReadInt64(tp, offset);
}
}
internal static void WriteCLong(IntPtr type, int offset, Int64 flags)
{
if (Runtime.IsWindows || Runtime.Is32Bit)
{
Marshal.WriteInt32(type, offset, (Int32)(flags & 0xffffffffL));
}
else
{
Marshal.WriteInt64(type, offset, flags);
}
}
}
}