cache: use const char * for get_object_directory()
The get_object_directory() method returns the exact string stored at the_repository->objects->odb->path. The return type of "char *" implies that the caller must keep track of the buffer and free() it when complete. This causes significant problems later when the ODB is accessed. Use "const char *" as the return type to avoid this confusion. There are no current callers that care about the non-const definition. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee committed
Apr 25, 2022 at 18:27 UTC
11f9e8de3d1a3d484c452141f1fcdbd707457ec0
2 files changed
+2
-2
cache.h
+1
-1
index 281f00ab1b..d8b0dc2ff1 100644
--- a/cache.h
+++ b/cache.h
@@ -567,7 +567,7 @@ extern char *git_work_tree_cfg;
int is_inside_work_tree(void);
const char *get_git_dir(void);
const char *get_git_common_dir(void);
-char *get_object_directory(void);
+const char *get_object_directory(void);
char *get_index_file(void);
char *get_graft_file(struct repository *r);
void set_git_dir(const char *path, int make_realpath);
environment.c
+1
-1
index fd0501e77a..4e49ee0d60 100644
--- a/environment.c
+++ b/environment.c
@@ -271,7 +271,7 @@ const char *get_git_work_tree(void)
return the_repository->worktree;
}
-char *get_object_directory(void)
+const char *get_object_directory(void)
{
if (!the_repository->objects->odb)
BUG("git environment hasn't been setup");