M.-A. Lemburg wrote: >>It's the consequences: nobody complains about tacking "const" on to a >>former honest-to-God "char *" argument that was in fact not modified, >>because that's not only helpful for C++ programmers, it's _harmless_ >>for all programmers. For example, nobody could sanely object (and >>nobody did :-)) to adding const to the attribute-name argument in >>PyObject_SetAttrString(). Sticking to that creates no new problems >>for anyone, so that's as far as I ever went. > > > Well, it broke my C extensions... I now have this in my code: > > /* The keyword array changed to const char* in Python 2.5 */ > #if PY_VERSION_HEX >= 0x02050000 > # define Py_KEYWORDS_STRING_TYPE const char > #else > # define Py_KEYWORDS_STRING_TYPE char > #endif > ... > static Py_KEYWORDS_STRING_TYPE *kwslist[] = {"yada", NULL}; > ...
You did not read Tim's message carefully enough. He wasn't talking about PyArg_ParseTupleAndKeywords *at all*. He only talked about changing char* arguments to const char*, e.g. in PyObject_SetAttrString. Did that break your C extensions also? Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com