Convert these two functions and the functions that underlie them to take pointers to struct object_id. This is a prerequisite to convert resolve_gitlink_ref. Fix a stray tab in the middle of the index_mem call in index_pipe by converting it to a space. Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> --- sha1_file.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index 5a2014811f..793fd2d194 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1660,7 +1660,7 @@ static void check_tag(const void *buf, size_t size) die("corrupt tag"); } -static int index_mem(unsigned char *sha1, void *buf, size_t size, +static int index_mem(struct object_id *oid, void *buf, size_t size, enum object_type type, const char *path, unsigned flags) { @@ -1691,15 +1691,15 @@ static int index_mem(unsigned char *sha1, void *buf, size_t size, } if (write_object) - ret = write_sha1_file(buf, size, typename(type), sha1); + ret = write_sha1_file(buf, size, typename(type), oid->hash); else - ret = hash_sha1_file(buf, size, typename(type), sha1); + ret = hash_sha1_file(buf, size, typename(type), oid->hash); if (re_allocated) free(buf); return ret; } -static int index_stream_convert_blob(unsigned char *sha1, int fd, +static int index_stream_convert_blob(struct object_id *oid, int fd, const char *path, unsigned flags) { int ret; @@ -1714,22 +1714,22 @@ static int index_stream_convert_blob(unsigned char *sha1, int fd, if (write_object) ret = write_sha1_file(sbuf.buf, sbuf.len, typename(OBJ_BLOB), - sha1); + oid->hash); else ret = hash_sha1_file(sbuf.buf, sbuf.len, typename(OBJ_BLOB), - sha1); + oid->hash); strbuf_release(&sbuf); return ret; } -static int index_pipe(unsigned char *sha1, int fd, enum object_type type, +static int index_pipe(struct object_id *oid, int fd, enum object_type type, const char *path, unsigned flags) { struct strbuf sbuf = STRBUF_INIT; int ret; if (strbuf_read(&sbuf, fd, 4096) >= 0) - ret = index_mem(sha1, sbuf.buf, sbuf.len, type, path, flags); + ret = index_mem(oid, sbuf.buf, sbuf.len, type, path, flags); else ret = -1; strbuf_release(&sbuf); @@ -1738,24 +1738,24 @@ static int index_pipe(unsigned char *sha1, int fd, enum object_type type, #define SMALL_FILE_SIZE (32*1024) -static int index_core(unsigned char *sha1, int fd, size_t size, +static int index_core(struct object_id *oid, int fd, size_t size, enum object_type type, const char *path, unsigned flags) { int ret; if (!size) { - ret = index_mem(sha1, "", size, type, path, flags); + ret = index_mem(oid, "", size, type, path, flags); } else if (size <= SMALL_FILE_SIZE) { char *buf = xmalloc(size); if (size == read_in_full(fd, buf, size)) - ret = index_mem(sha1, buf, size, type, path, flags); + ret = index_mem(oid, buf, size, type, path, flags); else ret = error_errno("short read"); free(buf); } else { void *buf = xmmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); - ret = index_mem(sha1, buf, size, type, path, flags); + ret = index_mem(oid, buf, size, type, path, flags); munmap(buf, size); } return ret; @@ -1793,12 +1793,12 @@ int index_fd(struct object_id *oid, int fd, struct stat *st, * die() for large files. */ if (type == OBJ_BLOB && path && would_convert_to_git_filter_fd(path)) - ret = index_stream_convert_blob(oid->hash, fd, path, flags); + ret = index_stream_convert_blob(oid, fd, path, flags); else if (!S_ISREG(st->st_mode)) - ret = index_pipe(oid->hash, fd, type, path, flags); + ret = index_pipe(oid, fd, type, path, flags); else if (st->st_size <= big_file_threshold || type != OBJ_BLOB || (path && would_convert_to_git(&the_index, path))) - ret = index_core(oid->hash, fd, xsize_t(st->st_size), type, path, + ret = index_core(oid, fd, xsize_t(st->st_size), type, path, flags); else ret = index_stream(oid, fd, xsize_t(st->st_size), type, path, -- 2.14.2.920.gcf0c67979c