From 6bcbdfb277bdc81b5ad6996b3fb005382a35c2ee Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 6 Oct 2019 23:30:34 +0000 Subject: hashmap_get_next returns "struct hashmap_entry *" This is a step towards removing the requirement for hashmap_entry being the first field of a struct. Signed-off-by: Eric Wong Reviewed-by: Derrick Stolee Signed-off-by: Junio C Hamano --- diffcore-rename.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'diffcore-rename.c') diff --git a/diffcore-rename.c b/diffcore-rename.c index 4670a40179..71aa240a68 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -274,7 +274,7 @@ static int find_identical_files(struct hashmap *srcs, struct diff_options *options) { int renames = 0; - + struct hashmap_entry *ent; struct diff_filespec *target = rename_dst[dst_index].two; struct file_similarity *p, *best = NULL; int i = 100, best_score = -1; @@ -282,12 +282,15 @@ static int find_identical_files(struct hashmap *srcs, /* * Find the best source match for specified destination. */ - p = hashmap_get_from_hash(srcs, + ent = hashmap_get_from_hash(srcs, hash_filespec(options->repo, target), NULL); - for (; p; p = hashmap_get_next(srcs, &p->entry)) { + for (; ent; ent = hashmap_get_next(srcs, ent)) { int score; - struct diff_filespec *source = p->filespec; + struct diff_filespec *source; + + p = container_of(ent, struct file_similarity, entry); + source = p->filespec; /* False hash collision? */ if (!oideq(&source->oid, &target->oid)) -- cgit v1.2.3