https://github.com/python/cpython/commit/d5d4cbbd8f20921646a90bec27535c2f9a3e83b2
commit: d5d4cbbd8f20921646a90bec27535c2f9a3e83b2
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2025-02-26T21:35:56+01:00
summary:
gh-111178: Fix function signatures in namespaceobject.c (#130590)
files:
M Objects/namespaceobject.c
diff --git a/Objects/namespaceobject.c b/Objects/namespaceobject.c
index 4ef3bd92f5a569..a9de9fe13f9ce1 100644
--- a/Objects/namespaceobject.c
+++ b/Objects/namespaceobject.c
@@ -12,6 +12,8 @@ typedef struct {
PyObject *ns_dict;
} _PyNamespaceObject;
+#define _PyNamespace_CAST(op) _Py_CAST(_PyNamespaceObject*, (op))
+
static PyMemberDef namespace_members[] = {
{"__dict__", _Py_T_OBJECT, offsetof(_PyNamespaceObject, ns_dict),
Py_READONLY},
@@ -41,8 +43,9 @@ namespace_new(PyTypeObject *type, PyObject *args, PyObject
*kwds)
static int
-namespace_init(_PyNamespaceObject *ns, PyObject *args, PyObject *kwds)
+namespace_init(PyObject *op, PyObject *args, PyObject *kwds)
{
+ _PyNamespaceObject *ns = _PyNamespace_CAST(op);
PyObject *arg = NULL;
if (!PyArg_UnpackTuple(args, _PyType_Name(Py_TYPE(ns)), 0, 1, &arg)) {
return -1;
@@ -76,8 +79,9 @@ namespace_init(_PyNamespaceObject *ns, PyObject *args,
PyObject *kwds)
static void
-namespace_dealloc(_PyNamespaceObject *ns)
+namespace_dealloc(PyObject *op)
{
+ _PyNamespaceObject *ns = _PyNamespace_CAST(op);
PyObject_GC_UnTrack(ns);
Py_CLEAR(ns->ns_dict);
Py_TYPE(ns)->tp_free((PyObject *)ns);
@@ -169,16 +173,18 @@ namespace_repr(PyObject *ns)
static int
-namespace_traverse(_PyNamespaceObject *ns, visitproc visit, void *arg)
+namespace_traverse(PyObject *op, visitproc visit, void *arg)
{
+ _PyNamespaceObject *ns = _PyNamespace_CAST(op);
Py_VISIT(ns->ns_dict);
return 0;
}
static int
-namespace_clear(_PyNamespaceObject *ns)
+namespace_clear(PyObject *op)
{
+ _PyNamespaceObject *ns = _PyNamespace_CAST(op);
Py_CLEAR(ns->ns_dict);
return 0;
}
@@ -258,12 +264,12 @@ PyTypeObject _PyNamespace_Type = {
"types.SimpleNamespace", /* tp_name */
sizeof(_PyNamespaceObject), /* tp_basicsize */
0, /* tp_itemsize */
- (destructor)namespace_dealloc, /* tp_dealloc */
+ namespace_dealloc, /* tp_dealloc */
0, /* tp_vectorcall_offset */
0, /* tp_getattr */
0, /* tp_setattr */
0, /* tp_as_async */
- (reprfunc)namespace_repr, /* tp_repr */
+ namespace_repr, /* tp_repr */
0, /* tp_as_number */
0, /* tp_as_sequence */
0, /* tp_as_mapping */
@@ -276,8 +282,8 @@ PyTypeObject _PyNamespace_Type = {
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
Py_TPFLAGS_BASETYPE, /* tp_flags */
namespace_doc, /* tp_doc */
- (traverseproc)namespace_traverse, /* tp_traverse */
- (inquiry)namespace_clear, /* tp_clear */
+ namespace_traverse, /* tp_traverse */
+ namespace_clear, /* tp_clear */
namespace_richcompare, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
@@ -290,9 +296,9 @@ PyTypeObject _PyNamespace_Type = {
0, /* tp_descr_get */
0, /* tp_descr_set */
offsetof(_PyNamespaceObject, ns_dict), /* tp_dictoffset */
- (initproc)namespace_init, /* tp_init */
+ namespace_init, /* tp_init */
PyType_GenericAlloc, /* tp_alloc */
- (newfunc)namespace_new, /* tp_new */
+ namespace_new, /* tp_new */
PyObject_GC_Del, /* tp_free */
};
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]