[pypy-svn] r51007 - in pypy/dist/pypy/lib: _ctypes app_test/ctypes
fijal at codespeak.net
fijal at codespeak.net
Fri Jan 25 01:43:10 CET 2008
Author: fijal
Date: Fri Jan 25 01:43:10 2008
New Revision: 51007
Modified:
pypy/dist/pypy/lib/_ctypes/primitive.py
pypy/dist/pypy/lib/app_test/ctypes/test_extra.py
Log:
A test and a fix.
Modified: pypy/dist/pypy/lib/_ctypes/primitive.py
==============================================================================
--- pypy/dist/pypy/lib/_ctypes/primitive.py (original)
+++ pypy/dist/pypy/lib/_ctypes/primitive.py Fri Jan 25 01:43:10 2008
@@ -117,9 +117,7 @@
if res is not None:
return res
if isinstance(value, Array):
- from ctypes import c_char, c_byte, c_wchar
- if type(value)._type_ in [c_char, c_byte, c_wchar]:
- return value
+ return value
if isinstance(value, _Pointer):
return self.from_address(value._buffer.buffer)
return SimpleType.from_param(self, value)
Modified: pypy/dist/pypy/lib/app_test/ctypes/test_extra.py
==============================================================================
--- pypy/dist/pypy/lib/app_test/ctypes/test_extra.py (original)
+++ pypy/dist/pypy/lib/app_test/ctypes/test_extra.py Fri Jan 25 01:43:10 2008
@@ -222,3 +222,7 @@
# T.argtypes and T.restype don't work, must use a dummy instance
assert list(T().argtypes) == [c_ubyte]
assert T().restype == c_int
+
+def test_from_param():
+ # other working cases of from_param
+ assert isinstance(c_void_p.from_param((c_int * 4)()), c_int*4)
More information about the Pypy-commit
mailing list