On Fri, 02 Dec 2011 13:35:11 +0100, Justus Winter <4win...@informatik.uni-hamburg.de> wrote: > Huh, strange. My patch isn't supposed to change anything, it just > enables the ctypes package to check whether the functions from > libnotmuch are called with the right parameters, thus preventing > mistakes when changing the python bindings in the future.
Where .restype is set to c_void_p ctypes spots this and returns it as int32. Where it's set to another callable (e.g. your custom types) it actually wraps the value by passing it to the callable and returning the result. Then, because your custom types are pointers, it stores them in an appropriate value, and also stops the storage being reused. I'll test again to make sure that I have this correct, but my tests yesterday certainly suggested that your patches fixed this. Thanks, James _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch