Martin Kulas <[EMAIL PROTECTED]> wrote: > I have a problem with Py_BuildValue: I want to convert an unsigned int > to a PyObject *. > http://docs.python.org/api/arg-parsing.html says that I can use > "I" as a format string. > But it does not work :-\
I tried your examples under linux. It fails under python 2.3 in the same fashion as you noted, but works under 2.4. On my system (debian/testing) I have python 2.4.4c0 installed. Handling of these sized integers > 0x80000000 changed from 2.3 to 2.4 so maybe this was a fixed bug? I can't seem to find the point release changelogs though! $ python2.3 setup.py build $ cd build/lib.linux-i686-2.3/ $ python2.3 Python 2.3.5 (#2, Jun 13 2006, 23:12:55) [GCC 4.1.2 20060613 (prerelease) (Debian 4.1.1-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mini >>> mini.foo() Traceback (most recent call last): File "<stdin>", line 1, in ? SystemError: bad format char passed to Py_BuildValue >>> $ python2.4 setup.py build $ cd build/lib.linux-i686-2.4 $ python2.4 Python 2.4.4c0 (#2, Jun 14 2006, 22:35:41) [GCC 4.1.2 20060613 (prerelease) (Debian 4.1.1-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mini >>> mini.foo() 3735928495L >>> -- Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list