sha1_file.c: add lookup_replace_object_extended() to pass flags

Currently, there is only one caller to lookup_replace_object()
that can benefit from passing it some flags, but we expect
that there could be more.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2013-12-11 08:46:06 +01:00 committed by Junio C Hamano
parent 500a04f196
commit bf93eea0f6
2 changed files with 7 additions and 2 deletions

View file

@ -773,6 +773,12 @@ static inline const unsigned char *lookup_replace_object(const unsigned char *sh
return sha1; return sha1;
return do_lookup_replace_object(sha1); return do_lookup_replace_object(sha1);
} }
static inline const unsigned char *lookup_replace_object_extended(const unsigned char *sha1, unsigned flag)
{
if (!(flag & LOOKUP_REPLACE_OBJECT))
return sha1;
return lookup_replace_object(sha1);
}
/* Read and unpack a sha1 file into memory, write memory to a sha1 file */ /* Read and unpack a sha1 file into memory, write memory to a sha1 file */
extern int sha1_object_info(const unsigned char *, unsigned long *); extern int sha1_object_info(const unsigned char *, unsigned long *);

View file

@ -2662,8 +2662,7 @@ void *read_sha1_file_extended(const unsigned char *sha1,
void *data; void *data;
char *path; char *path;
const struct packed_git *p; const struct packed_git *p;
const unsigned char *repl = (flag & LOOKUP_REPLACE_OBJECT) const unsigned char *repl = lookup_replace_object_extended(sha1, flag);
? lookup_replace_object(sha1) : sha1;
errno = 0; errno = 0;
data = read_object(repl, type, size); data = read_object(repl, type, size);