revisions API: release "reflog_info" in release revisions()
Add a missing reflog_walk_info_release() to "reflog-walk.c" and use it in release_revisions(). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ab1f6926e9
commit
81ffbf8380
@@ -8,7 +8,7 @@
|
||||
|
||||
struct complete_reflogs {
|
||||
char *ref;
|
||||
const char *short_ref;
|
||||
char *short_ref;
|
||||
struct reflog_info {
|
||||
struct object_id ooid, noid;
|
||||
char *email;
|
||||
@@ -51,9 +51,16 @@ static void free_complete_reflog(struct complete_reflogs *array)
|
||||
}
|
||||
free(array->items);
|
||||
free(array->ref);
|
||||
free(array->short_ref);
|
||||
free(array);
|
||||
}
|
||||
|
||||
static void complete_reflogs_clear(void *util, const char *str)
|
||||
{
|
||||
struct complete_reflogs *array = util;
|
||||
free_complete_reflog(array);
|
||||
}
|
||||
|
||||
static struct complete_reflogs *read_complete_reflog(const char *ref)
|
||||
{
|
||||
struct complete_reflogs *reflogs =
|
||||
@@ -116,6 +123,21 @@ void init_reflog_walk(struct reflog_walk_info **info)
|
||||
(*info)->complete_reflogs.strdup_strings = 1;
|
||||
}
|
||||
|
||||
void reflog_walk_info_release(struct reflog_walk_info *info)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
if (!info)
|
||||
return;
|
||||
|
||||
for (i = 0; i < info->nr; i++)
|
||||
free(info->logs[i]);
|
||||
string_list_clear_func(&info->complete_reflogs,
|
||||
complete_reflogs_clear);
|
||||
free(info->logs);
|
||||
free(info);
|
||||
}
|
||||
|
||||
int add_reflog_for_walk(struct reflog_walk_info *info,
|
||||
struct commit *commit, const char *name)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user