[Python-Dev] [docs] undocumented argtypes magic in ctypes? (original) (raw)

Thomas Heller theller at ctypes.org
Thu Mar 7 14:53:14 CET 2013


ctypes seems to auto-convert arguments when argtypes is specified. This fact is documented. However, I'm not sure whether this auto-conversion is advanced enough to apply byref. Because otherwise, DIRENT is certainly not convertible to DIRENTp

If argtypes specify a 'POINTER(X)' type as an argument, then ctypes automatically applies byref() if an 'X' instance is passed to the actual call. This is by design, but I'm not sure if it is documented or not. However, if argtypes is not given, this does (and of course cannot) work. Great, thanks for confirming this, Thomas. I had the feeling it's a documentation issue (hence I sent it to the docs@ list first), because the behavior seems very deliberate and looking at the code of ctypes I did see conversions going on. Have I missed that this is documented somewhere, or should I open a docs issue?

I didn't find anything in the docs (in the two minutes I spent for that), so please open a docs issue, or, better, fix it.

Thomas



More information about the Python-Dev mailing list