diff options
author | Thomas Heller <theller@ctypes.org> | 2006-07-06 07:50:18 (GMT) |
---|---|---|
committer | Thomas Heller <theller@ctypes.org> | 2006-07-06 07:50:18 (GMT) |
commit | 43d9a58dfda44f453ef330fb9c05fbabb7b82591 (patch) | |
tree | 21ed74d1bd409d3f57bf72b96263507f6b6056a9 | |
parent | 4cbd05c322d7ebb95b3623fe8e24b5e6bab7492c (diff) | |
download | cpython-43d9a58dfda44f453ef330fb9c05fbabb7b82591.zip cpython-43d9a58dfda44f453ef330fb9c05fbabb7b82591.tar.gz cpython-43d9a58dfda44f453ef330fb9c05fbabb7b82591.tar.bz2 |
Revert the change done in svn revision 47206:
Add a new function uses_seh() to the _ctypes extension module. This
will return True if Windows Structured Exception handling (SEH) is
used when calling functions, False otherwise.
-rw-r--r-- | Lib/ctypes/test/test_win32.py | 14 | ||||
-rw-r--r-- | Modules/_ctypes/callproc.c | 14 |
2 files changed, 9 insertions, 19 deletions
diff --git a/Lib/ctypes/test/test_win32.py b/Lib/ctypes/test/test_win32.py index eb016ff..8247d37 100644 --- a/Lib/ctypes/test/test_win32.py +++ b/Lib/ctypes/test/test_win32.py @@ -30,11 +30,15 @@ if sys.platform == "win32": # or wrong calling convention self.assertRaises(ValueError, IsWindow, None) - import _ctypes - if _ctypes.uses_seh(): - def test_SEH(self): - # Call functions with invalid arguments, and make sure that access violations - # are trapped and raise an exception. + def test_SEH(self): + # Call functions with invalid arguments, and make sure that access violations + # are trapped and raise an exception. + # + # Normally, in a debug build of the _ctypes extension + # module, exceptions are not trapped, so we can only run + # this test in a release build. + import sys + if not hasattr(sys, "getobjects"): self.assertRaises(WindowsError, windll.kernel32.GetModuleHandleA, 32) class Structures(unittest.TestCase): diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c index 4ec1f13..16e10de 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -1526,21 +1526,7 @@ resize(PyObject *self, PyObject *args) return Py_None; } -static PyObject * -uses_seh(PyObject *self, PyObject *args) -{ -#if defined(DONT_USE_SEH) || !defined(MS_WIN32) - Py_INCREF(Py_False); - return Py_False; -#else - Py_INCREF(Py_True); - return Py_True; -#endif -} - PyMethodDef module_methods[] = { - {"uses_seh", uses_seh, METH_NOARGS, - "Return whether ctypes uses Windows structured exception handling"}, {"resize", resize, METH_VARARGS, "Resize the memory buffer of a ctypes instance"}, #ifdef CTYPES_UNICODE {"set_conversion_mode", set_conversion_mode, METH_VARARGS, set_conversion_mode_doc}, |