mru: use double-linked list from list.h

Simplify mru.[ch] and related code by reusing the double-linked list
implementation from list.h instead of a custom one.
This commit is an intermediate step. Our final goal is to get rid of
mru.[ch] at all and inline all logic.

Mentored-by: Christian Couder <christian.couder@gmail.com>
Mentored by: Jeff King <peff@peff.net>
Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Olga Telezhnaya
2017-09-30 17:51:01 +00:00
committed by Junio C Hamano
parent 20fed7cad4
commit 8865859dfc
4 changed files with 33 additions and 59 deletions

View File

@ -995,8 +995,8 @@ static int want_object_in_pack(const unsigned char *sha1,
struct packed_git **found_pack,
off_t *found_offset)
{
struct mru_entry *entry;
int want;
struct list_head *pos;
if (!exclude && local && has_loose_object_nonlocal(sha1))
return 0;
@ -1012,7 +1012,8 @@ static int want_object_in_pack(const unsigned char *sha1,
return want;
}
for (entry = packed_git_mru.head; entry; entry = entry->next) {
list_for_each(pos, &packed_git_mru.list) {
struct mru *entry = list_entry(pos, struct mru, list);
struct packed_git *p = entry->item;
off_t offset;