summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2017-08-30 00:00:29 -0700
committerJunio C Hamano <gitster@pobox.com>2017-09-07 08:49:45 +0900
commitf1e036841a49ea63b4924cf71ad3acdc8b9c3c82 (patch)
tree92f78ae04640b5e4c6b1d447279dd8394f9dbaed
parent7b99da8311e690c54d104336b86976d3cd7c76dc (diff)
downloadgit-f1e036841a49ea63b4924cf71ad3acdc8b9c3c82.tar.gz
sha1_file: add repository argument to map_sha1_file_1
Add a repository argument to allow the map_sha1_file_1 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 <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, 6 insertions, 5 deletions
diff --git a/sha1_file.c b/sha1_file.c
index 893e37afec..3adae104c6 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -871,9 +871,10 @@ static int open_sha1_file_the_repository(const unsigned char *sha1,
* Map the loose object at "path" if it is not NULL, or the path found by
* searching for a loose object named "sha1".
*/
-static void *map_sha1_file_1(const char *path,
- const unsigned char *sha1,
- unsigned long *size)
+#define map_sha1_file_1(r, p, s, si) map_sha1_file_1_##r(p, s, si)
+static void *map_sha1_file_1_the_repository(const char *path,
+ const unsigned char *sha1,
+ unsigned long *size)
{
void *map;
int fd;
@@ -902,7 +903,7 @@ static void *map_sha1_file_1(const char *path,
void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
{
- return map_sha1_file_1(NULL, sha1, size);
+ return map_sha1_file_1(the_repository, NULL, sha1, size);
}
static int unpack_sha1_short_header(git_zstream *stream,
@@ -2102,7 +2103,7 @@ int read_loose_object(const char *path,
*contents = NULL;
- map = map_sha1_file_1(path, NULL, &mapsize);
+ map = map_sha1_file_1(the_repository, path, NULL, &mapsize);
if (!map) {
error_errno("unable to mmap %s", path);
goto out;