[Python-Dev] [docs] undocumented argtypes magic in ctypes?
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 DIRENT_p
>
> 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