From 5ceb5d181343d9bcde873b4ca83c9873efdfce21 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 3 Jul 2023 10:31:17 +0200 Subject: [PATCH] Use `CollectionIterator` in `CollectionData::memoryUsage()` --- src/ArduinoJson/Collection/CollectionImpl.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ArduinoJson/Collection/CollectionImpl.hpp b/src/ArduinoJson/Collection/CollectionImpl.hpp index 8ca33a1f..bbc201a9 100644 --- a/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -74,10 +74,10 @@ inline void CollectionData::remove(iterator it, ResourceManager* resources) { inline size_t CollectionData::memoryUsage() const { size_t total = 0; - for (VariantSlot* s = head_; s; s = s->next()) { - total += sizeof(VariantSlot) + s->data()->memoryUsage(); - if (s->ownsKey()) - total += sizeofString(strlen(s->key())); + for (auto it = createIterator(); !it.done(); it.next()) { + total += sizeof(VariantSlot) + it->memoryUsage(); + if (it.ownsKey()) + total += sizeofString(strlen(it.key())); } return total; }