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

Reply via email to