sha1_file: convert write_loose_object to object_id
Convert the definition and declaration of static write_loose_object function to struct object_id. Signed-off-by: Patryk Obara <patryk.obara@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4bdb70a4f7
commit
3fc7281ffa
28
sha1_file.c
28
sha1_file.c
@ -1548,16 +1548,17 @@ static int create_tmpfile(struct strbuf *tmp, const char *filename)
|
||||
return fd;
|
||||
}
|
||||
|
||||
static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
||||
const void *buf, unsigned long len, time_t mtime)
|
||||
static int write_loose_object(const struct object_id *oid, char *hdr,
|
||||
int hdrlen, const void *buf, unsigned long len,
|
||||
time_t mtime)
|
||||
{
|
||||
int fd, ret;
|
||||
unsigned char compressed[4096];
|
||||
git_zstream stream;
|
||||
git_SHA_CTX c;
|
||||
unsigned char parano_sha1[20];
|
||||
struct object_id parano_oid;
|
||||
static struct strbuf tmp_file = STRBUF_INIT;
|
||||
const char *filename = sha1_file_name(sha1);
|
||||
const char *filename = sha1_file_name(oid->hash);
|
||||
|
||||
fd = create_tmpfile(&tmp_file, filename);
|
||||
if (fd < 0) {
|
||||
@ -1594,13 +1595,16 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
||||
} while (ret == Z_OK);
|
||||
|
||||
if (ret != Z_STREAM_END)
|
||||
die("unable to deflate new object %s (%d)", sha1_to_hex(sha1), ret);
|
||||
die("unable to deflate new object %s (%d)", oid_to_hex(oid),
|
||||
ret);
|
||||
ret = git_deflate_end_gently(&stream);
|
||||
if (ret != Z_OK)
|
||||
die("deflateEnd on object %s failed (%d)", sha1_to_hex(sha1), ret);
|
||||
git_SHA1_Final(parano_sha1, &c);
|
||||
if (hashcmp(sha1, parano_sha1) != 0)
|
||||
die("confused by unstable object source data for %s", sha1_to_hex(sha1));
|
||||
die("deflateEnd on object %s failed (%d)", oid_to_hex(oid),
|
||||
ret);
|
||||
git_SHA1_Final(parano_oid.hash, &c);
|
||||
if (oidcmp(oid, ¶no_oid) != 0)
|
||||
die("confused by unstable object source data for %s",
|
||||
oid_to_hex(oid));
|
||||
|
||||
close_sha1_file(fd);
|
||||
|
||||
@ -1645,7 +1649,7 @@ int write_object_file(const void *buf, unsigned long len, const char *type,
|
||||
write_object_file_prepare(buf, len, type, oid, hdr, &hdrlen);
|
||||
if (freshen_packed_object(oid->hash) || freshen_loose_object(oid->hash))
|
||||
return 0;
|
||||
return write_loose_object(oid->hash, hdr, hdrlen, buf, len, 0);
|
||||
return write_loose_object(oid, hdr, hdrlen, buf, len, 0);
|
||||
}
|
||||
|
||||
int hash_sha1_file_literally(const void *buf, unsigned long len, const char *type,
|
||||
@ -1663,7 +1667,7 @@ int hash_sha1_file_literally(const void *buf, unsigned long len, const char *typ
|
||||
goto cleanup;
|
||||
if (freshen_packed_object(oid->hash) || freshen_loose_object(oid->hash))
|
||||
goto cleanup;
|
||||
status = write_loose_object(oid->hash, header, hdrlen, buf, len, 0);
|
||||
status = write_loose_object(oid, header, hdrlen, buf, len, 0);
|
||||
|
||||
cleanup:
|
||||
free(header);
|
||||
@ -1685,7 +1689,7 @@ int force_object_loose(const struct object_id *oid, time_t mtime)
|
||||
if (!buf)
|
||||
return error("cannot read sha1_file for %s", oid_to_hex(oid));
|
||||
hdrlen = xsnprintf(hdr, sizeof(hdr), "%s %lu", typename(type), len) + 1;
|
||||
ret = write_loose_object(oid->hash, hdr, hdrlen, buf, len, mtime);
|
||||
ret = write_loose_object(oid, hdr, hdrlen, buf, len, mtime);
|
||||
free(buf);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user