Fix issue with deque in case of successive _clean:

the CLEAR method was called more than once for an object.
This commit is contained in:
Patrick Pelissier committed 2018-08-20 23:13:55 +02:00
1 parent 492e4c33db
commit 7447492c76
1 file changed
+4 -5
+4 -5
View File
@@ -151,12 +151,11 @@
M_C(name, _clean)(deque_t d) \
{ \
DEQUEI_CONTRACT(d); \
M_C(name, _node_list_it_t) it; \
M_C(name, _node_t) *min_node = NULL; \
for(M_C(name, _node_list_it)(it, d->list) ; \
!M_C(name, _node_list_end_p)(it) ; \
M_C(name, _node_list_next)(it) ){ \
M_C(name, _node_t) *n = M_C(name, _node_list_ref)(it); \
for(M_C(name, _node_t) *n = d->front->node; \
n != NULL ; \
n = (n == d->back->node) ? NULL : \
M_C(name, _node_list_next_obj)(d->list, n) ){ \
size_t min = n == d->front->node ? d->front->index : 0; \
size_t max = n == d->back->node ? d->back->index : n->size; \
for(size_t i = min; i < max; i++) { \