[Python-Dev] Baffled by PyArg_ParseTupleAndKeywords modification (original) (raw)
Jack Jansen Jack.Jansen at cwi.nl
Fri Feb 10 15:23:07 CET 2006
- Previous message: [Python-Dev] Post-PyCon PyPy Sprint: February 27th - March 2nd 2006
- Next message: [Python-Dev] Baffled by PyArg_ParseTupleAndKeywords modification
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I keep running into problems with the "const" modifications to
PyArg_ParseTupleAndKeywords() (rev. 41638 by Jeremy).
I have lots of code of the form char *kw[] = {"itself", 0};
if (PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw,
CFTypeRefObj_Convert, &itself)) ...
which now no longer compiles, neither with C nor with C++ (gcc4, both
MacOSX and Linux). Changing the kw declaration to "const char *kw[]"
makes it compile again.
I don't understand why it doesn't compile: even though the
PyArg_ParseTupleAndKeywords signature promises that it won't change
the "kw" argument I see no reason why I shouldn't be able to pass a
non-const argument.
And to make matters worse adding the "const" of course makes the code
non-portable to previous versions of Python (where the C compiler
rightly complains that I'm passing a const object through a non-const
parameter).
Can anyone enlighten me?
Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma
Goldman
- Previous message: [Python-Dev] Post-PyCon PyPy Sprint: February 27th - March 2nd 2006
- Next message: [Python-Dev] Baffled by PyArg_ParseTupleAndKeywords modification
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]