[Python-checkins] r45317 - in python/trunk: Lib/ctypes/test/test_pointers.py Modules/_ctypes/_ctypes.c
thomas.heller
python-checkins at python.org
Wed Apr 12 21:07:36 CEST 2006
Author: thomas.heller
Date: Wed Apr 12 21:07:36 2006
New Revision: 45317
Modified:
python/trunk/Lib/ctypes/test/test_pointers.py
python/trunk/Modules/_ctypes/_ctypes.c
Log:
Fix for a bug found by Armin Rigo, plus test.
https://sourceforge.net/tracker/?func=detail&atid=532154&aid=1467852&group_id=71702
Modified: python/trunk/Lib/ctypes/test/test_pointers.py
==============================================================================
--- python/trunk/Lib/ctypes/test/test_pointers.py (original)
+++ python/trunk/Lib/ctypes/test/test_pointers.py Wed Apr 12 21:07:36 2006
@@ -166,6 +166,18 @@
result = func( byref(argc), argv )
assert result == 'world', result
+ def test_bug_1467852(self):
+ # http://sourceforge.net/tracker/?func=detail&atid=532154&aid=1467852&group_id=71702
+ x = c_int(5)
+ dummy = []
+ for i in range(32000):
+ dummy.append(c_int(i))
+ y = c_int(6)
+ p = pointer(x)
+ pp = pointer(p)
+ q = pointer(y)
+ pp[0] = q # <==
+ self.failUnlessEqual(p[0], 6)
if __name__ == '__main__':
unittest.main()
Modified: python/trunk/Modules/_ctypes/_ctypes.c
==============================================================================
--- python/trunk/Modules/_ctypes/_ctypes.c (original)
+++ python/trunk/Modules/_ctypes/_ctypes.c Wed Apr 12 21:07:36 2006
@@ -548,7 +548,7 @@
return NULL;
stgdict->size = sizeof(void *);
stgdict->align = getentry("P")->pffi_type->alignment;
- stgdict->length = 2;
+ stgdict->length = 1;
stgdict->ffi_type = ffi_type_pointer;
proto = PyDict_GetItemString(typedict, "_type_"); /* Borrowed ref */
More information about the Python-checkins
mailing list