From 5dcbc92259237abb12539639983279a9eaba0544 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Thu, 4 Jul 2013 13:48:23 -0700 Subject: [PATCH] Really fix prevMissing --- modules/ripple_basics/containers/ripple_RangeSet.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/ripple_basics/containers/ripple_RangeSet.cpp b/modules/ripple_basics/containers/ripple_RangeSet.cpp index 8bdf266f7..e0f84e7b4 100644 --- a/modules/ripple_basics/containers/ripple_RangeSet.cpp +++ b/modules/ripple_basics/containers/ripple_RangeSet.cpp @@ -85,6 +85,10 @@ uint32 RangeSet::prevMissing (uint32 v) const { checkInternalConsistency (); + // Handle the case where the loop reaches the terminating condition + // + result = v - 1; + for (const_reverse_iterator cur = mRanges.rbegin (); cur != mRanges.rend (); ++cur) { // See if v is in the range @@ -116,8 +120,6 @@ uint32 RangeSet::prevMissing (uint32 v) const break; } } - - result = v - 1; } bassert (result == absent || !hasValue (result));