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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com