summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2017-08-30 00:15:13 -0700
committerJunio C Hamano <gitster@pobox.com>2017-09-07 08:49:46 +0900
commitfe071ee1647f7a0ef1602a4bee230f720d05c51b (patch)
tree70fad0e813fbfa06e9a96fd511eb0a325a65ac12
parenta48753b2e318994b0694e0843da9dac74a571431 (diff)
downloadgit-fe071ee1647f7a0ef1602a4bee230f720d05c51b.tar.gz
pack: allow stat_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>
-rw-r--r--sha1_file.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sha1_file.c b/sha1_file.c
index ac57eea0f2..282ed7bd1b 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -822,19 +822,18 @@ int git_open_cloexec(const char *name, int flags)
* Note that it may point to static storage and is only valid until another
* call to sha1_file_name(), etc.
*/
-#define stat_sha1_file(r, s, st, p) stat_sha1_file_##r(s, st, p)
-static int stat_sha1_file_the_repository(const unsigned char *sha1,
- struct stat *st, const char **path)
+static int stat_sha1_file(struct repository *r, const unsigned char *sha1,
+ struct stat *st, const char **path)
{
struct alternate_object_database *alt;
- *path = sha1_file_name(the_repository, sha1);
+ *path = sha1_file_name(r, sha1);
if (!lstat(*path, st))
return 0;
- prepare_alt_odb(the_repository);
+ prepare_alt_odb(r);
errno = ENOENT;
- for (alt = the_repository->objects.alt_odb_list; alt; alt = alt->next) {
+ for (alt = r->objects.alt_odb_list; alt; alt = alt->next) {
*path = alt_sha1_path(alt, sha1);
if (!lstat(*path, st))
return 0;