@@ -12,6 +12,8 @@ typedef struct {
1212    PyObject  * ns_dict ;
1313} _PyNamespaceObject ;
1414
15+ #define  _PyNamespace_CAST (op ) _Py_CAST(_PyNamespaceObject*, (op))
16+ 
1517
1618static  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
4345static  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
7881static  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
171175static  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
179184static  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