grep: recurse in-process using 'struct repository'
[gitweb.git] / patch-ids.c
index 9c0ab9e67a80b54f87d9b9d52fa08de7167aec4a..b4166b0f384691ada862ff0b1e37387b018587b1 100644 (file)
@@ -35,9 +35,10 @@ int commit_patch_id(struct commit *commit, struct diff_options *options,
  * the side of safety.  The actual value being negative does not have
  * any significance; only that it is non-zero matters.
  */
-static int patch_id_cmp(struct patch_id *a,
+static int patch_id_cmp(struct diff_options *opt,
+                       struct patch_id *a,
                        struct patch_id *b,
-                       struct diff_options *opt)
+                       const void *unused_keydata)
 {
        if (is_null_oid(&a->patch_id) &&
            commit_patch_id(a->commit, opt, &a->patch_id, 0))
@@ -57,7 +58,8 @@ int init_patch_ids(struct patch_ids *ids)
        ids->diffopts.detect_rename = 0;
        DIFF_OPT_SET(&ids->diffopts, RECURSIVE);
        diff_setup_done(&ids->diffopts);
-       hashmap_init(&ids->patches, (hashmap_cmp_fn)patch_id_cmp, 256);
+       hashmap_init(&ids->patches, (hashmap_cmp_fn)patch_id_cmp,
+                    &ids->diffopts, 256);
        return 0;
 }
 
@@ -93,7 +95,7 @@ struct patch_id *has_commit_patch_id(struct commit *commit,
        if (init_patch_id_entry(&patch, commit, ids))
                return NULL;
 
-       return hashmap_get(&ids->patches, &patch, &ids->diffopts);
+       return hashmap_get(&ids->patches, &patch, NULL);
 }
 
 struct patch_id *add_commit_patch_id(struct commit *commit,