[ox/ptrarith] Fix compact not to cycle back to start

This commit is contained in:
Gary Talent 2019-03-17 22:39:20 -05:00
parent 7a2033da60
commit 07112682c6

View File

@ -329,7 +329,7 @@ template<typename F>
void NodeBuffer<size_t, Item>::compact(F cb) {
auto src = firstItem();
auto dest = ptr(sizeof(*this));
while (src.valid() && dest.valid()) {
while (src.valid() && dest.valid() && dest.offset() < src.offset()) {
// move node
ox_memcpy(dest, src, src.size());
cb(src, dest);