[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.


More information about the Python-Dev mailing list