git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 5/9] diff.c: adjust hash function signature to match hashmap expectation

From
Stefan Beller <sbeller@google.com>
Date
Jul 16, 2018, 23:05 UTC
Message-ID
<20180716230542.81372-6-sbeller@google.com>
In-Reply-To
<20180716230542.81372-1-sbeller@google.com>
This makes the follow up patch easier.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 diff.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/diff.c b/diff.c
index ce7bedc1b92..d1bae900cdc 100644
--- a/diff.c
+++ b/diff.c
@@ -707,11 +707,15 @@ struct moved_entry {
 	struct moved_entry *next_line;
 };
 
-static int moved_entry_cmp(const struct diff_options *diffopt,
-			   const struct moved_entry *a,
-			   const struct moved_entry *b,
+static int moved_entry_cmp(const void *hashmap_cmp_fn_data,
+			   const void *entry,
+			   const void *entry_or_key,
 			   const void *keydata)
 {
+	const struct diff_options *diffopt = hashmap_cmp_fn_data;
+	const struct moved_entry *a = entry;
+	const struct moved_entry *b = entry_or_key;
+
 	return !xdiff_compare_lines(a->es->line, a->es->len,
 				    b->es->line, b->es->len,
 				    diffopt->xdl_opts);
@@ -5534,10 +5538,8 @@ static void diff_flush_patch_all_file_pairs(struct diff_options *o)
 		if (o->color_moved) {
 			struct hashmap add_lines, del_lines;
 
-			hashmap_init(&del_lines,
-				     (hashmap_cmp_fn)moved_entry_cmp, o, 0);
-			hashmap_init(&add_lines,
-				     (hashmap_cmp_fn)moved_entry_cmp, o, 0);
+			hashmap_init(&del_lines, moved_entry_cmp, o, 0);
+			hashmap_init(&add_lines, moved_entry_cmp, o, 0);
 
 			add_lines_to_move_detection(o, &add_lines, &del_lines);
 			mark_color_as_moved(o, &add_lines, &del_lines);
-- 
2.18.0.203.gfac676dfb9-goog
Previous: Stefan BellerNext: Stefan Beller
Message 6 of 12 in “[PATCHv5 0/9] Reroll of sb/diff-color-move-more”
  1. Stefan BellerJul 16, 2018
  2. 1/9 xdiff/xdiff.h: remove unused flagsStefan Beller, Jul 16, 2018
  3. 2/9 xdiff/xdiffi.c: remove unneeded function declarationsStefan Beller, Jul 16, 2018
  4. 3/9 t4015: avoid git as a pipe inputStefan Beller, Jul 16, 2018
  5. 4/9 diff.c: do not pass diff options as keydata to hashmapStefan Beller, Jul 16, 2018
  6. 5/9 diff.c: adjust hash function signature to match hashmap expectationStefan Beller, Jul 16, 2018
  7. 6/9 diff.c: add a blocks mode for moved code detectionStefan Beller, Jul 16, 2018
  8. 7/9 diff.c: decouple white space treatment from move detection algorithmStefan Beller, Jul 16, 2018
  9. 8/9 diff.c: factor advance_or_nullify out of mark_color_as_movedStefan Beller, Jul 16, 2018
  10. 9/9 diff.c: add white space mode to move detection that allows indent changesStefan Beller, Jul 16, 2018
  11. Andrei RybakJul 18, 2018
  12. Stefan BellerJul 18, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.