diff options
author | Stefan Beller <sbeller@google.com> | 2018-03-23 18:21:18 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-26 10:05:55 -0700 |
commit | ec7283e586f034404a31087c52749a6e15bb0318 (patch) | |
tree | 25cac779143edf1fbf62b07c50e476f97040cc42 /sha1_file.c | |
parent | d2607fa053441827446b57c17a3605840d638f15 (diff) | |
download | git-ec7283e586f034404a31087c52749a6e15bb0318.tar.gz |
sha1_file: allow open_sha1_file to handle arbitrary repositories
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r-- | sha1_file.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sha1_file.c b/sha1_file.c index fc4f209981..1fa32c8a06 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -895,9 +895,8 @@ static int stat_sha1_file(struct repository *r, 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. */ -#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) +static int open_sha1_file(struct repository *r, + const unsigned char *sha1, const char **path) { int fd; struct alternate_object_database *alt; @@ -905,7 +904,7 @@ static int open_sha1_file_the_repository(const unsigned char *sha1, static struct strbuf buf = STRBUF_INIT; strbuf_reset(&buf); - sha1_file_name(the_repository, &buf, sha1); + sha1_file_name(r, &buf, sha1); *path = buf.buf; fd = git_open(*path); @@ -913,8 +912,8 @@ static int open_sha1_file_the_repository(const unsigned char *sha1, return fd; most_interesting_errno = errno; - prepare_alt_odb(the_repository); - for (alt = the_repository->objects->alt_odb_list; alt; alt = alt->next) { + prepare_alt_odb(r); + for (alt = r->objects->alt_odb_list; alt; alt = alt->next) { *path = alt_sha1_path(alt, sha1); fd = git_open(*path); if (fd >= 0) |