From: Stefan Beller Date: Fri, 23 Mar 2018 17:21:12 +0000 (+0100) Subject: sha1_file: add repository argument to open_sha1_file X-Git-Tag: v2.18.0-rc0~144^2~9 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/2ba0bfd67f3a5b6b5e26436d899e7fd02b578bb6?hp=--cc sha1_file: add repository argument to open_sha1_file Add a repository argument to allow the open_sha1_file caller to be more specific about which repository to act on. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Stefan Beller Signed-off-by: Jonathan Nieder Signed-off-by: Junio C Hamano Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- 2ba0bfd67f3a5b6b5e26436d899e7fd02b578bb6 diff --git a/sha1_file.c b/sha1_file.c index 80bac89014..a2ab2b82c3 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -896,7 +896,9 @@ static int stat_sha1_file_the_repository(const unsigned char *sha1, * Like stat_sha1_file(), but actually open the object and return the * descriptor. See the caveats on the "path" parameter above. */ -static int open_sha1_file(const unsigned char *sha1, const char **path) +#define open_sha1_file(r, s, p) open_sha1_file_##r(s, p) +static int open_sha1_file_the_repository(const unsigned char *sha1, + const char **path) { int fd; struct alternate_object_database *alt; @@ -939,7 +941,7 @@ static void *map_sha1_file_1(const char *path, if (path) fd = git_open(path); else - fd = open_sha1_file(sha1, &path); + fd = open_sha1_file(the_repository, sha1, &path); map = NULL; if (fd >= 0) { struct stat st;