mirror of
https://github.com/python/cpython.git
synced 2024-11-28 12:31:14 +08:00
Merged revisions 74922 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r74922 | thomas.heller | 2009-09-18 22:08:39 +0200 (Fr, 18 Sep 2009) | 10 lines Merged revisions 74921 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r74921 | thomas.heller | 2009-09-18 22:05:44 +0200 (Fr, 18 Sep 2009) | 3 lines Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) does now always result in NULL. ........ ................
This commit is contained in:
parent
35888e2b3c
commit
49ac2ac740
@ -97,7 +97,7 @@ class SimpleTypesTestCase(unittest.TestCase):
|
||||
self.assertEqual(x.contents.value, 42)
|
||||
self.assertEqual(LPINT(c_int(42)).contents.value, 42)
|
||||
|
||||
self.assertEqual(LPINT.from_param(None), 0)
|
||||
self.assertEqual(LPINT.from_param(None), None)
|
||||
|
||||
if c_int != c_long:
|
||||
self.assertRaises(TypeError, LPINT.from_param, pointer(c_long(42)))
|
||||
|
@ -21,6 +21,9 @@ Core and Builtins
|
||||
Library
|
||||
-------
|
||||
|
||||
- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
|
||||
does now always result in NULL.
|
||||
|
||||
- Issue #5042: Structure sub-subclass does now initialize correctly
|
||||
with base class positional arguments.
|
||||
|
||||
|
@ -936,8 +936,11 @@ PyCPointerType_from_param(PyObject *type, PyObject *value)
|
||||
{
|
||||
StgDictObject *typedict;
|
||||
|
||||
if (value == Py_None)
|
||||
return PyLong_FromLong(0); /* NULL pointer */
|
||||
if (value == Py_None) {
|
||||
/* ConvParam will convert to a NULL pointer later */
|
||||
Py_INCREF(value);
|
||||
return value;
|
||||
}
|
||||
|
||||
typedict = PyType_stgdict(type);
|
||||
assert(typedict); /* Cannot be NULL for pointer types */
|
||||
|
@ -547,6 +547,7 @@ PyTypeObject PyCArg_Type = {
|
||||
* C function call.
|
||||
*
|
||||
* 1. Python integers are converted to C int and passed by value.
|
||||
* Py_None is converted to a C NULL pointer.
|
||||
*
|
||||
* 2. 3-tuples are expected to have a format character in the first
|
||||
* item, which must be 'i', 'f', 'd', 'q', or 'P'.
|
||||
|
Loading…
Reference in New Issue
Block a user