diff --git a/ConflictSet.cpp b/ConflictSet.cpp index b007ef4..a539a75 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -1078,16 +1078,16 @@ bool checkRangeRead(Node *n, std::span begin, return false; } - for (int i = begin.size() - 1; i >= lcp + 1; --i) { + if (!checkRangeStartsWith(n, begin.subspan(0, lcp), begin[lcp], end[lcp], + readVersion)) { + return false; + } + for (int i = lcp + 1; i < int(begin.size()); ++i) { if (!checkRangeStartsWith(n, begin.subspan(0, i), int(begin[i]), 256, readVersion)) { return false; } } - if (!checkRangeStartsWith(n, begin.subspan(0, lcp), begin[lcp], end[lcp], - readVersion)) { - return false; - } for (int i = lcp + 1; i < int(end.size()); ++i) { if (!checkPointRead(n, end.subspan(0, i), readVersion)) { return false;