Skip to content

Commit 0b9fe61

Browse files
author
dse
committed
Interop fix for Py_ssize_t methods (it's produces problems only on NetCoreApp 2.0).
1 parent dac5a96 commit 0b9fe61

File tree

4 files changed

+220
-52
lines changed

4 files changed

+220
-52
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
2121

2222
### Fixed
2323

24+
- Fixed interop methods with Py_ssize_t. NetCoreApp 2.0 is more sensitive than net40 and requires this fix.
2425
- Fixed Visual Studio 2017 compat (#434) for setup.py
2526
- Fixed crash on exit of the Python interpreter if a python class
2627
derived from a .NET class has a `__namespace__` or `__assembly__`

src/embed_tests/TestPySequence.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,8 @@ public void TestRepeat()
6969
PyObject actual = t1.Repeat(3);
7070
Assert.AreEqual("FooFooFoo", actual.ToString());
7171

72-
// On 32 bit system this argument should be int, but on the 64 bit system this should be long value.
73-
// This works on the Framework 4.0 accidentally, it should produce out of memory!
74-
// actual = t1.Repeat(-3);
75-
// Assert.AreEqual("", actual.ToString());
72+
actual = t1.Repeat(-3);
73+
Assert.AreEqual("", actual.ToString());
7674
}
7775

7876
[Test]

src/runtime/exceptions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public static void SetError(Exception e)
276276
/// </remarks>
277277
public static bool ErrorOccurred()
278278
{
279-
return Runtime.PyErr_Occurred() != 0;
279+
return Runtime.PyErr_Occurred() != IntPtr.Zero;
280280
}
281281

282282
/// <summary>

0 commit comments

Comments
 (0)