From 89b5f1d9c5e64c9e232fa1ebe0ea407c8773b79a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20Scharfe?= Date: Wed, 25 Apr 2012 22:35:27 +0200 Subject: [PATCH] sequencer: export commit_list_append() This function can be used in other parts of git. Give it a new home in commit.c. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- commit.c | 27 +++++++++++++++++++++++++++ commit.h | 2 ++ sequencer.c | 27 --------------------------- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/commit.c b/commit.c index b80a45281..8361acb6c 100644 --- a/commit.c +++ b/commit.c @@ -1214,3 +1214,30 @@ struct commit *get_merge_parent(const char *name) } return commit; } + +/* + * Append a commit to the end of the commit_list. + * + * next starts by pointing to the variable that holds the head of an + * empty commit_list, and is updated to point to the "next" field of + * the last item on the list as new commits are appended. + * + * Usage example: + * + * struct commit_list *list; + * struct commit_list **next = &list; + * + * next = commit_list_append(c1, next); + * next = commit_list_append(c2, next); + * assert(commit_list_count(list) == 2); + * return list; + */ +struct commit_list **commit_list_append(struct commit *commit, + struct commit_list **next) +{ + struct commit_list *new = xmalloc(sizeof(struct commit_list)); + new->item = commit; + *next = new; + new->next = NULL; + return &new->next; +} diff --git a/commit.h b/commit.h index f8d250d6f..bd17770e8 100644 --- a/commit.h +++ b/commit.h @@ -53,6 +53,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); +struct commit_list **commit_list_append(struct commit *commit, + struct commit_list **next); unsigned commit_list_count(const struct commit_list *l); struct commit_list *commit_list_insert_by_date(struct commit *item, struct commit_list **list); diff --git a/sequencer.c b/sequencer.c index 4307364b2..ac6c8238e 100644 --- a/sequencer.c +++ b/sequencer.c @@ -468,33 +468,6 @@ static void read_and_refresh_cache(struct replay_opts *opts) rollback_lock_file(&index_lock); } -/* - * Append a commit to the end of the commit_list. - * - * next starts by pointing to the variable that holds the head of an - * empty commit_list, and is updated to point to the "next" field of - * the last item on the list as new commits are appended. - * - * Usage example: - * - * struct commit_list *list; - * struct commit_list **next = &list; - * - * next = commit_list_append(c1, next); - * next = commit_list_append(c2, next); - * assert(commit_list_count(list) == 2); - * return list; - */ -static struct commit_list **commit_list_append(struct commit *commit, - struct commit_list **next) -{ - struct commit_list *new = xmalloc(sizeof(struct commit_list)); - new->item = commit; - *next = new; - new->next = NULL; - return &new->next; -} - static int format_todo(struct strbuf *buf, struct commit_list *todo_list, struct replay_opts *opts) { -- 2.26.2