[Python-Dev] getter/setter function signatures (original) (raw)
Thomas Heller thomas.heller@ion-tof.com
Thu, 18 Apr 2002 15:52:01 +0200
- Previous message: [Python-Dev] getter/setter function signatures
- Next message: [Python-Dev] getter/setter function signatures
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
As an extension writer, this bugs me [1].
Looking into Python's sources, I find mostly code like this:
static PyObject * func_get_code(PyFunctionObject *op) { .... }
static PyGetSetDef func_getsetlist[] = { {"func_code", (getter)func_get_code, (setter)func_set_code}, .... {NULL} /* Sentinel */ };
in other words, casting like hell to the correct function type.
Should a style like this should be preferred:
static PyObject * func_get_code(PyObject *py) { PyFunctionObject *op = (PyFunctionObject *)py; .... }
static PyGetSetDef func_getsetlist[] = { {"func_code", func_get_code, func_set_code}, .... {NULL} /* Sentinel */ };
in other words, move the cast where you are more sure about it's correctness, and give the compiler a change for meaningfull warnings.
Thomas
[1] Actually it's getting better since the documentation has improved a lot, before that I was mainly looking into the source or for examples.
- Previous message: [Python-Dev] getter/setter function signatures
- Next message: [Python-Dev] getter/setter function signatures
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]