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
@@ -567,7 +567,7 @@ extern char *git_work_tree_cfg;
567 int is_inside_work_tree(void);
568 const char *get_git_dir(void);
569 const char *get_git_common_dir(void);
570 -char *get_object_directory(void);
570 +const char *get_object_directory(void);
571 char *get_index_file(void);
572 char *get_graft_file(struct repository *r);
573 void set_git_dir(const char *path, int make_realpath);
environment.c
+1 -1
@@ -271,7 +271,7 @@ const char *get_git_work_tree(void)
271 return the_repository->worktree;
272 }
273
274 -char *get_object_directory(void)
274 +const char *get_object_directory(void)
275 {
276 if (!the_repository->objects->odb)
277 BUG("git environment hasn't been setup");