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

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

From
Stefan Beller <sbeller@google.com>
Date
Jul 18, 2018, 19:31 UTC
Message-ID
<20180718193156.47365-6-sbeller@google.com>
In-Reply-To
<20180718193156.47365-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.233.g985f88cf7e-goog
Previous: Stefan BellerNext: Stefan Beller
Message 6 of 12 in “[PATCHv6 00/10] Reroll of sb/diff-color-move-more”
  1. Stefan BellerJul 18, 2018
  2. 01/10 xdiff/xdiff.h: remove unused flagsStefan Beller, Jul 18, 2018
  3. 02/10 xdiff/xdiffi.c: remove unneeded function declarationsStefan Beller, Jul 18, 2018
  4. 03/10 t4015: avoid git as a pipe inputStefan Beller, Jul 18, 2018
  5. 04/10 diff.c: do not pass diff options as keydata to hashmapStefan Beller, Jul 18, 2018
  6. 05/10 diff.c: adjust hash function signature to match hashmap expectationStefan Beller, Jul 18, 2018
  7. 06/10 diff.c: add a blocks mode for moved code detectionStefan Beller, Jul 18, 2018
  8. 07/10 diff.c: decouple white space treatment from move detection algorithmStefan Beller, Jul 18, 2018
  9. 08/10 diff.c: factor advance_or_nullify out of mark_color_as_movedStefan Beller, Jul 18, 2018
  10. 09/10 diff.c: add white space mode to move detection that allows indent changesStefan Beller, Jul 18, 2018
  11. 10/10 diff.c: offer config option to control ws handling in move detectionStefan Beller, Jul 18, 2018
  12. Junio C HamanoJul 19, 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.