@@ -230,10 +230,8 @@ typedef struct {
230230
231231 PyObject * _children [STATIC_CHILDREN ];
232232
233- /* incremented whenever 'attrib' is externally mutated */
234- size_t attrs_version ;
235- /* incremented whenever children are externally mutated */
236- size_t nodes_version ;
233+ /* incremented whenever the object is externally mutated */
234+ size_t version ;
237235} ElementObjectExtra ;
238236
239237typedef struct {
@@ -283,8 +281,7 @@ create_extra(ElementObject* self, PyObject* attrib)
283281 self -> extra -> allocated = STATIC_CHILDREN ;
284282 self -> extra -> children = self -> extra -> _children ;
285283
286- self -> extra -> attrs_version = 0 ;
287- self -> extra -> nodes_version = 0 ;
284+ self -> extra -> version = 0 ;
288285
289286 return 0 ;
290287}
@@ -513,7 +510,7 @@ element_resize(ElementObject* self, Py_ssize_t extra)
513510 }
514511 self -> extra -> children = children ;
515512 self -> extra -> allocated = size ;
516- self -> extra -> nodes_version ++ ;
513+ self -> extra -> version ++ ;
517514 }
518515
519516 return 0 ;
@@ -547,7 +544,7 @@ element_add_subelement(elementtreestate *st, ElementObject *self,
547544 self -> extra -> children [self -> extra -> length ] = Py_NewRef (element );
548545
549546 self -> extra -> length ++ ;
550- self -> extra -> nodes_version ++ ;
547+ self -> extra -> version ++ ;
551548
552549 return 0 ;
553550}
@@ -789,7 +786,7 @@ _elementtree_Element___copy___impl(ElementObject *self, PyTypeObject *cls)
789786
790787 assert (!element -> extra -> length );
791788 element -> extra -> length = self -> extra -> length ;
792- element -> extra -> nodes_version = self -> extra -> nodes_version ;
789+ element -> extra -> version = self -> extra -> version ;
793790 }
794791
795792 return (PyObject * ) element ;
@@ -873,7 +870,7 @@ _elementtree_Element___deepcopy___impl(ElementObject *self, PyObject *memo)
873870
874871 assert (!element -> extra -> length );
875872 element -> extra -> length = self -> extra -> length ;
876- element -> extra -> nodes_version = 0 ;
873+ element -> extra -> version = 0 ;
877874 }
878875
879876 /* add object to memo dictionary (so deepcopy won't visit it again) */
@@ -1560,7 +1557,7 @@ _elementtree_Element_insert_impl(ElementObject *self, Py_ssize_t index,
15601557 self -> extra -> children [index ] = Py_NewRef (subelement );
15611558
15621559 self -> extra -> length ++ ;
1563- self -> extra -> nodes_version ++ ;
1560+ self -> extra -> version ++ ;
15641561
15651562 Py_RETURN_NONE ;
15661563}
@@ -1683,7 +1680,7 @@ _elementtree_Element_remove_impl(ElementObject *self, PyObject *subelement)
16831680 self -> extra -> length -- ;
16841681 for (; i < self -> extra -> length ; i ++ )
16851682 self -> extra -> children [i ] = self -> extra -> children [i + 1 ];
1686- self -> extra -> nodes_version ++ ;
1683+ self -> extra -> version ++ ;
16871684
16881685 Py_DECREF (found );
16891686 Py_RETURN_NONE ;
@@ -1739,7 +1736,7 @@ _elementtree_Element_set_impl(ElementObject *self, PyObject *key,
17391736 if (PyDict_SetItem (attrib , key , value ) < 0 )
17401737 return NULL ;
17411738
1742- self -> extra -> attrs_version ++ ;
1739+ self -> extra -> version ++ ;
17431740 Py_RETURN_NONE ;
17441741}
17451742
@@ -1773,7 +1770,7 @@ element_setitem(PyObject* self_, Py_ssize_t index, PyObject* item)
17731770 self -> extra -> children [i ] = self -> extra -> children [i + 1 ];
17741771 }
17751772
1776- self -> extra -> nodes_version ++ ;
1773+ self -> extra -> version ++ ;
17771774 Py_DECREF (old );
17781775
17791776 return 0 ;
@@ -1924,7 +1921,7 @@ element_ass_subscr(PyObject* self_, PyObject* item, PyObject* value)
19241921 }
19251922
19261923 self -> extra -> length -= slicelen ;
1927- self -> extra -> nodes_version ++ ;
1924+ self -> extra -> version ++ ;
19281925
19291926 /* Discard the recycle list with all the deleted sub-elements */
19301927 Py_DECREF (recycle );
@@ -2000,7 +1997,7 @@ element_ass_subscr(PyObject* self_, PyObject* item, PyObject* value)
20001997 }
20011998
20021999 self -> extra -> length += newlen - slicelen ;
2003- self -> extra -> nodes_version ++ ;
2000+ self -> extra -> version ++ ;
20042001
20052002 Py_DECREF (seq );
20062003
@@ -2097,7 +2094,7 @@ element_attrib_setter(ElementObject *self, PyObject *value, void *closure)
20972094 return -1 ;
20982095 }
20992096 Py_XSETREF (self -> extra -> attrib , Py_NewRef (value ));
2100- self -> extra -> attrs_version ++ ;
2097+ self -> extra -> version ++ ;
21012098 return 0 ;
21022099}
21032100
0 commit comments