Trent Mick:
Fix warnings on 64-bit build build of signalmodule.c
- Though I know that SIG_DFL and SIG_IGN are just small constants,
there are cast to function pointers so the appropriate Python call is
PyLong_FromVoidPtr so that the pointer value cannot overflow on Win64
where sizeof(long) < sizeof(void*).
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 26bb940..88f2b9c 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -356,11 +356,11 @@
/* Add some symbolic constants to the module */
d = PyModule_GetDict(m);
- x = DefaultHandler = PyInt_FromLong((long)SIG_DFL);
+ x = DefaultHandler = PyLong_FromVoidPtr(SIG_DFL);
if (!x || PyDict_SetItemString(d, "SIG_DFL", x) < 0)
goto finally;
- x = IgnoreHandler = PyInt_FromLong((long)SIG_IGN);
+ x = IgnoreHandler = PyLong_FromVoidPtr(SIG_IGN);
if (!x || PyDict_SetItemString(d, "SIG_IGN", x) < 0)
goto finally;