From d5e6a6594479b50a8d0f0d400e0c2dd3b8247db4 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 4 Apr 2020 12:22:50 +0200 Subject: cleanup: copy saved_git_id, don't use local buffer In an attempt to reduce the number of global variables, don't use a local buffer to store the currently loaded git-id. The git-id itself is still a global variable, which in the future can hopefully be encapsulated in a "struct File" or similar. Signed-off-by: Berthold Stoeger --- core/load-git.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/load-git.c b/core/load-git.c index f01fe72a0..cc6f42ce3 100644 --- a/core/load-git.c +++ b/core/load-git.c @@ -1677,15 +1677,17 @@ static int load_dives_from_tree(git_repository *repo, git_tree *tree, struct git void clear_git_id(void) { + free((void *)saved_git_id); saved_git_id = NULL; } void set_git_id(const struct git_oid *id) { - static char git_id_buffer[GIT_OID_HEXSZ + 1]; + char git_id_buffer[GIT_OID_HEXSZ + 1]; git_oid_tostr(git_id_buffer, sizeof(git_id_buffer), id); - saved_git_id = git_id_buffer; + free((void *)saved_git_id); + saved_git_id = strdup(git_id_buffer); } static int find_commit(git_repository *repo, const char *branch, git_commit **commit_p) -- cgit v1.2.3-70-g09d2