[ox/ptrarith] Fix compact not to cycle back to start
This commit is contained in:
parent
7a2033da60
commit
07112682c6
2
deps/ox/src/ox/ptrarith/nodebuffer.hpp
vendored
2
deps/ox/src/ox/ptrarith/nodebuffer.hpp
vendored
@ -329,7 +329,7 @@ template<typename F>
|
|||||||
void NodeBuffer<size_t, Item>::compact(F cb) {
|
void NodeBuffer<size_t, Item>::compact(F cb) {
|
||||||
auto src = firstItem();
|
auto src = firstItem();
|
||||||
auto dest = ptr(sizeof(*this));
|
auto dest = ptr(sizeof(*this));
|
||||||
while (src.valid() && dest.valid()) {
|
while (src.valid() && dest.valid() && dest.offset() < src.offset()) {
|
||||||
// move node
|
// move node
|
||||||
ox_memcpy(dest, src, src.size());
|
ox_memcpy(dest, src, src.size());
|
||||||
cb(src, dest);
|
cb(src, dest);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user