[PATCH v3 06/14] filter_refs(): do not check the same sought_pos twice
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Sep 9, 2012, 06:19 UTC
- Message-ID
- <1347171589-13327-7-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1347171589-13327-1-git-send-email-mhagger@alum.mit.edu>
Once a match has been found at sought_pos, the entry is zeroed and no future attempts will match that entry. So increment sought_pos to avoid checking against the zeroed-out entry during the next iteration.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- builtin/fetch-pack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index df81995..63d455f 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -565,8 +565,8 @@ static void filter_refs(struct ref **refs, struct string_list *sought) if (cmp < 0) /* definitely do not have it */ break; else if (cmp == 0) { /* definitely have it */ - sought->items[sought_pos].string[0] = '\0'; return_refs[sought_pos] = ref; + sought->items[sought_pos++].string[0] = '\0'; break; } else /* might have it; keep looking */
-- 1.7.11.3