<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 7, 2013 at 5:53 AM, Thomas Heller <span dir="ltr"><<a href="mailto:theller@ctypes.org" target="_blank">theller@ctypes.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


        ctypes seems to auto-convert arguments when argtypes is<br>
        specified. This<br>
        fact is documented. However, I'm not sure whether this<br>
        auto-conversion<br>
        is advanced enough to apply byref. Because otherwise, DIRENT is<br>
        certainly not convertible to DIRENT_p<br>
<br>
    If argtypes specify a 'POINTER(X)' type as an argument, then ctypes<br>
    automatically applies byref() if an 'X' instance is passed to the<br>
    actual call.  This is by design, but I'm not sure if it is documented<br>
    or not.<br>
<br>
    However, if argtypes is not given, this does (and of course cannot)<br>
    work.<br>
<br>
Great, thanks for confirming this, Thomas. I had the feeling it's a<br>
documentation issue (hence I sent it to the docs@ list first), because<br>
the behavior seems very deliberate and looking at the code of ctypes I<br>
did see conversions going on.<br>
<br>
Have I missed that this is documented somewhere, or should I open a docs<br>
issue?<br>
</blockquote>
<br></div>
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.</blockquote><div><br></div><div><a href="http://bugs.python.org/issue17378">http://bugs.python.org/issue17378</a>, has a patch already. Please take a look.<br>

<br>Eli <br></div></div><br></div></div>