diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2020-12-09 01:04:13 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-12-09 01:48:16 +0300 |
commit | 597b2c39af9ee65496591448715588b711e91947 (patch) | |
tree | b280b25ab8ae1e1f1460cd7770b543dd2ecdf6c3 | |
parent | ed03a58b655f661ef6f9efd8816efe0c8cf07fa0 (diff) |
commit: implement commit_list_contains()
It can be helpful to check if a commit_list contains a commit. Use
pointer equality, assuming lookup_commit() was used.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | commit.c | 11 | ||||
-rw-r--r-- | commit.h | 2 |
2 files changed, 13 insertions, 0 deletions
@@ -544,6 +544,17 @@ struct commit_list *commit_list_insert(struct commit *item, struct commit_list * return new_list; } +int commit_list_contains(struct commit *item, struct commit_list *list) +{ + while (list) { + if (list->item == item) + return 1; + list = list->next; + } + + return 0; +} + unsigned commit_list_count(const struct commit_list *l) { unsigned c = 0; @@ -167,6 +167,8 @@ int find_commit_subject(const char *commit_buffer, const char **subject); struct commit_list *commit_list_insert(struct commit *item, struct commit_list **list); +int commit_list_contains(struct commit *item, + struct commit_list *list); struct commit_list **commit_list_append(struct commit *commit, struct commit_list **next); unsigned commit_list_count(const struct commit_list *l); |