You are right. The format should be 'l'. I overlooked that. In my case the optional 'buf_size' parameter of 'decompress' is not used anyhow.
Shall I change the patch accordingly?
It work well for me and I now checked the code of PyArg_ParseTuple (Python/getargs.c) to see what happens. As far as I understand, the given pointer is casted to a pointer to int if the format is 'i' (line 630) . On a 64 bit machine this leads to a downcast from a (64 bit) long to a (32 bit) int, which is OK AFAIK, but I could be wrong.
Thanks for pointing that out,
Peter
Guido van Rossum added the comment:
I trust that there's a problem, but this can't be right -- the address
of r_strlen is passed to PyArg_ParseTuple corresponding to an 'i' format
letter. That will never do.
----------
assignee: -> nnorwitz
nosy: +gvanrossum, nnorwitz
__________________________________
Tracker <report@bugs.python.org>
< http://bugs.python.org/issue1372>
__________________________________