summaryrefslogtreecommitdiffstats
path: root/Doc/c-api
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2016-12-10 05:56:13 (GMT)
committerMartin Panter <vadmium+py@gmail.com>2016-12-10 05:56:13 (GMT)
commit7a44783b425ed810cf38e48b43fb3800e2995fa1 (patch)
tree5cf7a904dbba37db0178b0bf8a40f32f925909ba /Doc/c-api
parent898573a734bd24716468faf2b99e47d3676c0c03 (diff)
downloadcpython-7a44783b425ed810cf38e48b43fb3800e2995fa1.zip
cpython-7a44783b425ed810cf38e48b43fb3800e2995fa1.tar.gz
cpython-7a44783b425ed810cf38e48b43fb3800e2995fa1.tar.bz2
Issue #28771: Update tp_get/setattr signature documentation
Diffstat (limited to 'Doc/c-api')
-rw-r--r--Doc/c-api/typeobj.rst12
1 files changed, 7 insertions, 5 deletions
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 323f017..ac6fd0b 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -199,8 +199,9 @@ type objects) *must* have the :attr:`ob_size` field.
This field is deprecated. When it is defined, it should point to a function
that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, but taking a C string
- instead of a Python string object to give the attribute name. The signature is
- the same as for :c:func:`PyObject_GetAttrString`.
+ instead of a Python string object to give the attribute name. The signature is ::
+
+ PyObject * tp_getattr(PyObject *o, char *attr_name);
This field is inherited by subtypes together with :c:member:`~PyTypeObject.tp_getattro`: a subtype
inherits both :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject.tp_getattro` from its base type when
@@ -213,10 +214,11 @@ type objects) *must* have the :attr:`ob_size` field.
This field is deprecated. When it is defined, it should point to a function
that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, but taking a C string
- instead of a Python string object to give the attribute name. The signature is
- the same as for :c:func:`PyObject_SetAttrString`, but setting
- *v* to *NULL* to delete an attribute must be supported.
+ instead of a Python string object to give the attribute name. The signature is ::
+
+ PyObject * tp_setattr(PyObject *o, char *attr_name, PyObject *v);
+ The *v* argument is set to *NULL* to delete the attribute.
This field is inherited by subtypes together with :c:member:`~PyTypeObject.tp_setattro`: a subtype
inherits both :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject.tp_setattro` from its base type when
the subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject.tp_setattro` are both *NULL*.