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>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-03-23 18:21:13 +01:00 committed by Junio C Hamano
parent 2ba0bfd67f
commit 332295d7e4

View File

@ -931,9 +931,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;
@ -962,7 +963,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,
@ -2192,7 +2193,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;