• Jeremy Hylton's avatar
    Add const to several API functions that take char *. · af68c874
    Jeremy Hylton yazdı
    In C++, it's an error to pass a string literal to a char* function
    without a const_cast().  Rather than require every C++ extension
    module to put a cast around string literals, fix the API to state the
    const-ness.
    
    I focused on parts of the API where people usually pass literals:
    PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
    slots, etc.  Predictably, there were a large set of functions that
    needed to be fixed as a result of these changes.  The most pervasive
    change was to make the keyword args list passed to
    PyArg_ParseTupleAndKewords() to be a const char *kwlist[].
    
    One cast was required as a result of the changes:  A type object
    mallocs the memory for its tp_doc slot and later frees it.
    PyTypeObject says that tp_doc is const char *; but if the type was
    created by type_new(), we know it is safe to cast to char *.
    af68c874
Adı
Son kayıt (commit)
Son güncelleme
Demo Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Python Loading commit data...
RISCOS Loading commit data...
Tools Loading commit data...
.hgtags Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...