From: Serhiy Storchaka Date: Tue, 5 Mar 2024 15:48:20 +0000 (+0200) Subject: Fix the PyGetSetDef documentation (GH-116056) X-Git-Tag: v3.13.0a5~101 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=df594011089a83d151ac7000954665536f3461b5;p=thirdparty%2FPython%2Fcpython.git Fix the PyGetSetDef documentation (GH-116056) closure is not a function pointer, it is a user data pointer. --- diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst index e2943f18ddc6..f9461ab01f60 100644 --- a/Doc/c-api/structures.rst +++ b/Doc/c-api/structures.rst @@ -702,12 +702,12 @@ Defining Getters and Setters .. c:member:: void* closure - Optional function pointer, providing additional data for getter and setter. + Optional user data pointer, providing additional data for getter and setter. .. c:type:: PyObject *(*getter)(PyObject *, void *) The ``get`` function takes one :c:expr:`PyObject*` parameter (the - instance) and a function pointer (the associated ``closure``): + instance) and a user data pointer (the associated ``closure``): It should return a new reference on success or ``NULL`` with a set exception on failure. @@ -715,7 +715,7 @@ Defining Getters and Setters .. c:type:: int (*setter)(PyObject *, PyObject *, void *) ``set`` functions take two :c:expr:`PyObject*` parameters (the instance and - the value to be set) and a function pointer (the associated ``closure``): + the value to be set) and a user data pointer (the associated ``closure``): In case the attribute should be deleted the second parameter is ``NULL``. Should return ``0`` on success or ``-1`` with a set exception on failure.