Skip to content

Commit a1950d1

Browse files
committed
fixup
1 parent 4ca3cf0 commit a1950d1

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

Modules/_elementtree.c

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,9 @@ typedef struct {
231231
PyObject* _children[STATIC_CHILDREN];
232232

233233
/* incremented whenever 'attrib' is externally mutated */
234-
size_t attrib_version;
234+
size_t attrs_version;
235235
/* incremented whenever children are externally mutated */
236-
size_t version;
236+
size_t nodes_version;
237237
} ElementObjectExtra;
238238

239239
typedef struct {
@@ -283,8 +283,8 @@ create_extra(ElementObject* self, PyObject* attrib)
283283
self->extra->allocated = STATIC_CHILDREN;
284284
self->extra->children = self->extra->_children;
285285

286-
self->extra->attrib_version = 0;
287-
self->extra->version = 0;
286+
self->extra->attrs_version = 0;
287+
self->extra->nodes_version = 0;
288288

289289
return 0;
290290
}
@@ -513,7 +513,7 @@ element_resize(ElementObject* self, Py_ssize_t extra)
513513
}
514514
self->extra->children = children;
515515
self->extra->allocated = size;
516-
self->extra->version++;
516+
self->extra->nodes_version++;
517517
}
518518

519519
return 0;
@@ -547,7 +547,7 @@ element_add_subelement(elementtreestate *st, ElementObject *self,
547547
self->extra->children[self->extra->length] = Py_NewRef(element);
548548

549549
self->extra->length++;
550-
self->extra->version++;
550+
self->extra->nodes_version++;
551551

552552
return 0;
553553
}
@@ -789,7 +789,7 @@ _elementtree_Element___copy___impl(ElementObject *self, PyTypeObject *cls)
789789

790790
assert(!element->extra->length);
791791
element->extra->length = self->extra->length;
792-
element->extra->version = self->extra->version;
792+
element->extra->nodes_version = self->extra->nodes_version;
793793
}
794794

795795
return (PyObject*) element;
@@ -873,7 +873,7 @@ _elementtree_Element___deepcopy___impl(ElementObject *self, PyObject *memo)
873873

874874
assert(!element->extra->length);
875875
element->extra->length = self->extra->length;
876-
element->extra->version = 0;
876+
element->extra->nodes_version = 0;
877877
}
878878

879879
/* add object to memo dictionary (so deepcopy won't visit it again) */
@@ -1029,12 +1029,10 @@ element_setstate_from_attributes(elementtreestate *st,
10291029

10301030
Py_XSETREF(self->tag, Py_NewRef(tag));
10311031

1032-
// TODO(picnix): determine how versioning would work with an evil text
10331032
text = text ? JOIN_SET(text, PyList_CheckExact(text)) : Py_None;
10341033
Py_INCREF(JOIN_OBJ(text));
10351034
_set_joined_ptr(&self->text, text);
10361035

1037-
// TODO(picnix): determine how versioning would work with an evil tail
10381036
tail = tail ? JOIN_SET(tail, PyList_CheckExact(tail)) : Py_None;
10391037
Py_INCREF(JOIN_OBJ(tail));
10401038
_set_joined_ptr(&self->tail, tail);
@@ -1085,7 +1083,6 @@ element_setstate_from_attributes(elementtreestate *st,
10851083

10861084
assert(!self->extra->length);
10871085
self->extra->length = nchildren;
1088-
self->extra->version++;
10891086
}
10901087
else {
10911088
if (element_resize(self, 0)) {
@@ -1095,7 +1092,6 @@ element_setstate_from_attributes(elementtreestate *st,
10951092

10961093
/* Stash attrib. */
10971094
Py_XSETREF(self->extra->attrib, Py_XNewRef(attrib));
1098-
self->extra->attrib_version++;
10991095
dealloc_extra(oldextra);
11001096

11011097
Py_RETURN_NONE;
@@ -1564,7 +1560,7 @@ _elementtree_Element_insert_impl(ElementObject *self, Py_ssize_t index,
15641560
self->extra->children[index] = Py_NewRef(subelement);
15651561

15661562
self->extra->length++;
1567-
self->extra->version++;
1563+
self->extra->nodes_version++;
15681564

15691565
Py_RETURN_NONE;
15701566
}
@@ -1687,7 +1683,7 @@ _elementtree_Element_remove_impl(ElementObject *self, PyObject *subelement)
16871683
self->extra->length--;
16881684
for (; i < self->extra->length; i++)
16891685
self->extra->children[i] = self->extra->children[i+1];
1690-
self->extra->version++;
1686+
self->extra->nodes_version++;
16911687

16921688
Py_DECREF(found);
16931689
Py_RETURN_NONE;
@@ -1743,7 +1739,7 @@ _elementtree_Element_set_impl(ElementObject *self, PyObject *key,
17431739
if (PyDict_SetItem(attrib, key, value) < 0)
17441740
return NULL;
17451741

1746-
self->extra->attrib_version++;
1742+
self->extra->attrs_version++;
17471743
Py_RETURN_NONE;
17481744
}
17491745

@@ -1777,7 +1773,7 @@ element_setitem(PyObject* self_, Py_ssize_t index, PyObject* item)
17771773
self->extra->children[i] = self->extra->children[i+1];
17781774
}
17791775

1780-
self->extra->version++;
1776+
self->extra->nodes_version++;
17811777
Py_DECREF(old);
17821778

17831779
return 0;
@@ -1928,7 +1924,7 @@ element_ass_subscr(PyObject* self_, PyObject* item, PyObject* value)
19281924
}
19291925

19301926
self->extra->length -= slicelen;
1931-
self->extra->version++;
1927+
self->extra->nodes_version++;
19321928

19331929
/* Discard the recycle list with all the deleted sub-elements */
19341930
Py_DECREF(recycle);
@@ -2004,7 +2000,7 @@ element_ass_subscr(PyObject* self_, PyObject* item, PyObject* value)
20042000
}
20052001

20062002
self->extra->length += newlen - slicelen;
2007-
self->extra->version++;
2003+
self->extra->nodes_version++;
20082004

20092005
Py_DECREF(seq);
20102006

@@ -2101,7 +2097,7 @@ element_attrib_setter(ElementObject *self, PyObject *value, void *closure)
21012097
return -1;
21022098
}
21032099
Py_XSETREF(self->extra->attrib, Py_NewRef(value));
2104-
self->extra->attrib_version++;
2100+
self->extra->attrs_version++;
21052101
return 0;
21062102
}
21072103

0 commit comments

Comments
 (0)