]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
include/buffer: avoid it = it->next() usage
authorMatan Breizman <mbreizma@redhat.com>
Thu, 18 Aug 2022 12:35:28 +0000 (12:35 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 21 Aug 2022 11:15:58 +0000 (11:15 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/include/buffer.h

index fdbaae836592e2fc872b23c766157876d99af75a..19fcfc29fb45d5986b87e0c46ca99df7a71e47ca 100644 (file)
@@ -594,13 +594,13 @@ struct error_code;
        }
       }
       void clear_and_dispose() {
-        for (auto it = begin(); it != end(); /* nop */) {
-          auto& node = *it;
-          it = it->next;
-          ptr_node::disposer()(&node);
+        ptr_node::disposer dispose;
+        for (auto it = begin(), e = end(); it != e; /* nop */) {
+          auto& node = *it++;
+          dispose(&node);
         }
-        _root.next = &_root;
         _tail = &_root;
+        _root.next = _tail;
       }
       iterator erase_after_and_dispose(iterator it) {
        auto* to_dispose = &*std::next(it);