summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--builtin/fsck.c2
-rw-r--r--object-file.c9
-rw-r--r--object-file.h3
3 files changed, 8 insertions, 6 deletions
diff --git a/builtin/fsck.c b/builtin/fsck.c
index f0854ce5d8..e9112d884f 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -633,7 +633,7 @@ static int fsck_loose(const struct object_id *oid, const char *path,
oi.sizep = &size;
oi.typep = &type;
- if (read_loose_object(path, oid, &real_oid, &contents, &oi) < 0) {
+ if (read_loose_object(the_repository, path, oid, &real_oid, &contents, &oi) < 0) {
if (contents && !oideq(&real_oid, oid))
err = error(_("%s: hash-path mismatch, found at: %s"),
oid_to_hex(&real_oid), path);
diff --git a/object-file.c b/object-file.c
index b894379d22..f7c07acadc 100644
--- a/object-file.c
+++ b/object-file.c
@@ -1535,7 +1535,8 @@ static int check_stream_oid(git_zstream *stream,
return 0;
}
-int read_loose_object(const char *path,
+int read_loose_object(struct repository *repo,
+ const char *path,
const struct object_id *expected_oid,
struct object_id *real_oid,
void **contents,
@@ -1574,9 +1575,9 @@ int read_loose_object(const char *path,
}
if (*oi->typep == OBJ_BLOB &&
- *size > repo_settings_get_big_file_threshold(the_repository)) {
+ *size > repo_settings_get_big_file_threshold(repo)) {
if (check_stream_oid(&stream, hdr, *size, path, expected_oid,
- the_repository->hash_algo) < 0)
+ repo->hash_algo) < 0)
goto out_inflate;
} else {
*contents = unpack_loose_rest(&stream, hdr, *size, expected_oid);
@@ -1584,7 +1585,7 @@ int read_loose_object(const char *path,
error(_("unable to unpack contents of %s"), path);
goto out_inflate;
}
- hash_object_file(the_repository->hash_algo,
+ hash_object_file(repo->hash_algo,
*contents, *size,
*oi->typep, real_oid);
if (!oideq(expected_oid, real_oid))
diff --git a/object-file.h b/object-file.h
index 1b1ab95423..52f7979267 100644
--- a/object-file.h
+++ b/object-file.h
@@ -210,7 +210,8 @@ int check_and_freshen_file(const char *fn, int freshen);
*
* Returns 0 on success, negative on error (details may be written to stderr).
*/
-int read_loose_object(const char *path,
+int read_loose_object(struct repository *repo,
+ const char *path,
const struct object_id *expected_oid,
struct object_id *real_oid,
void **contents,