Mark Dickinson <dicki...@gmail.com> added the comment:

[Martin]
> The patch that Meador committed is incorrect: METH_NOARGS functions
> still take a PyObject* args argument, which will be NULL.

Hmm.  I see this usage in a lot of places---e.g. see unicode_capitalize, 
unicode_casefold, unicode_title etc. in Objects/unicodeobject.c.  So it looks 
like we're relying on the (PyCFunction) cast to convert from a one-argument 
function pointer to a two-argument function pointer, which sounds a bit 
worrisome---I guess it just happens to work with common ABI calling 
conventions. I'm a bit surprised that we're not seeing compiler warnings about 
this sort of thing.

[Meador]
> I will happily fix it, but if it is wrong one place, then it is wrong
> everywhere.

It sounds like 'wrong everywhere' is accurate, unfortunately.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15402>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to