From: Jeff King <p...@peff.net>

We will no longer compute bitmap_git->reuse_objects in a
following commit, so we cannot rely on it anymore to
terminate the loop early; we have to iterate to the end.

Signed-off-by: Jeff King <p...@peff.net>
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 pack-bitmap.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/pack-bitmap.c b/pack-bitmap.c
index e07c798879..016d0319fc 100644
--- a/pack-bitmap.c
+++ b/pack-bitmap.c
@@ -622,7 +622,7 @@ static void show_objects_for_type(
        enum object_type object_type,
        show_reachable_fn show_reach)
 {
-       size_t pos = 0, i = 0;
+       size_t i = 0;
        uint32_t offset;
 
        struct ewah_iterator it;
@@ -630,13 +630,15 @@ static void show_objects_for_type(
 
        struct bitmap *objects = bitmap_git->result;
 
-       if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects)
-               return;
-
        ewah_iterator_init(&it, type_filter);
 
-       while (i < objects->word_alloc && ewah_iterator_next(&filter, &it)) {
+       for (i = 0; i < objects->word_alloc &&
+                       ewah_iterator_next(&filter, &it); i++) {
                eword_t word = objects->words[i] & filter;
+               size_t pos = (i * BITS_IN_EWORD);
+
+               if (!word)
+                       continue;
 
                for (offset = 0; offset < BITS_IN_EWORD; ++offset) {
                        struct object_id oid;
@@ -648,9 +650,6 @@ static void show_objects_for_type(
 
                        offset += ewah_bit_ctz64(word >> offset);
 
-                       if (pos + offset < bitmap_git->reuse_objects)
-                               continue;
-
                        entry = &bitmap_git->pack->revindex[pos + offset];
                        nth_packed_object_oid(&oid, bitmap_git->pack, 
entry->nr);
 
@@ -659,9 +658,6 @@ static void show_objects_for_type(
 
                        show_reach(&oid, object_type, 0, hash, 
bitmap_git->pack, entry->offset);
                }
-
-               pos += BITS_IN_EWORD;
-               i++;
        }
 }
 
-- 
2.24.0.rc0.9.gef620577e2

Reply via email to