Skip to content

Commit d5d4cbb

Browse files
authored
gh-111178: Fix function signatures in namespaceobject.c (#130590)
1 parent 1b635d8 commit d5d4cbb

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

Objects/namespaceobject.c

+16-10
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ typedef struct {
1212
PyObject *ns_dict;
1313
} _PyNamespaceObject;
1414

15+
#define _PyNamespace_CAST(op) _Py_CAST(_PyNamespaceObject*, (op))
16+
1517

1618
static PyMemberDef namespace_members[] = {
1719
{"__dict__", _Py_T_OBJECT, offsetof(_PyNamespaceObject, ns_dict), Py_READONLY},
@@ -41,8 +43,9 @@ namespace_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
4143

4244

4345
static int
44-
namespace_init(_PyNamespaceObject *ns, PyObject *args, PyObject *kwds)
46+
namespace_init(PyObject *op, PyObject *args, PyObject *kwds)
4547
{
48+
_PyNamespaceObject *ns = _PyNamespace_CAST(op);
4649
PyObject *arg = NULL;
4750
if (!PyArg_UnpackTuple(args, _PyType_Name(Py_TYPE(ns)), 0, 1, &arg)) {
4851
return -1;
@@ -76,8 +79,9 @@ namespace_init(_PyNamespaceObject *ns, PyObject *args, PyObject *kwds)
7679

7780

7881
static void
79-
namespace_dealloc(_PyNamespaceObject *ns)
82+
namespace_dealloc(PyObject *op)
8083
{
84+
_PyNamespaceObject *ns = _PyNamespace_CAST(op);
8185
PyObject_GC_UnTrack(ns);
8286
Py_CLEAR(ns->ns_dict);
8387
Py_TYPE(ns)->tp_free((PyObject *)ns);
@@ -169,16 +173,18 @@ namespace_repr(PyObject *ns)
169173

170174

171175
static int
172-
namespace_traverse(_PyNamespaceObject *ns, visitproc visit, void *arg)
176+
namespace_traverse(PyObject *op, visitproc visit, void *arg)
173177
{
178+
_PyNamespaceObject *ns = _PyNamespace_CAST(op);
174179
Py_VISIT(ns->ns_dict);
175180
return 0;
176181
}
177182

178183

179184
static int
180-
namespace_clear(_PyNamespaceObject *ns)
185+
namespace_clear(PyObject *op)
181186
{
187+
_PyNamespaceObject *ns = _PyNamespace_CAST(op);
182188
Py_CLEAR(ns->ns_dict);
183189
return 0;
184190
}
@@ -258,12 +264,12 @@ PyTypeObject _PyNamespace_Type = {
258264
"types.SimpleNamespace", /* tp_name */
259265
sizeof(_PyNamespaceObject), /* tp_basicsize */
260266
0, /* tp_itemsize */
261-
(destructor)namespace_dealloc, /* tp_dealloc */
267+
namespace_dealloc, /* tp_dealloc */
262268
0, /* tp_vectorcall_offset */
263269
0, /* tp_getattr */
264270
0, /* tp_setattr */
265271
0, /* tp_as_async */
266-
(reprfunc)namespace_repr, /* tp_repr */
272+
namespace_repr, /* tp_repr */
267273
0, /* tp_as_number */
268274
0, /* tp_as_sequence */
269275
0, /* tp_as_mapping */
@@ -276,8 +282,8 @@ PyTypeObject _PyNamespace_Type = {
276282
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
277283
Py_TPFLAGS_BASETYPE, /* tp_flags */
278284
namespace_doc, /* tp_doc */
279-
(traverseproc)namespace_traverse, /* tp_traverse */
280-
(inquiry)namespace_clear, /* tp_clear */
285+
namespace_traverse, /* tp_traverse */
286+
namespace_clear, /* tp_clear */
281287
namespace_richcompare, /* tp_richcompare */
282288
0, /* tp_weaklistoffset */
283289
0, /* tp_iter */
@@ -290,9 +296,9 @@ PyTypeObject _PyNamespace_Type = {
290296
0, /* tp_descr_get */
291297
0, /* tp_descr_set */
292298
offsetof(_PyNamespaceObject, ns_dict), /* tp_dictoffset */
293-
(initproc)namespace_init, /* tp_init */
299+
namespace_init, /* tp_init */
294300
PyType_GenericAlloc, /* tp_alloc */
295-
(newfunc)namespace_new, /* tp_new */
301+
namespace_new, /* tp_new */
296302
PyObject_GC_Del, /* tp_free */
297303
};
298304

0 commit comments

Comments
 (0)