Download raw body.
some memcmp -> got_object_id_cmp in object_parse.c
avoids some assumption about the hash size ;-)
yeah, the error message is still generated with
got_sha1_digest_to_str. we can add a function like got_object_id_str
that serialize an id to a static buffer in a second moment i think.
ok?
diff /tmp/got
commit - c4d35c5bb4f936d0f96bb62d234001b68dc33089
path + /tmp/got
blob - 9731ce78ee76e120a9a9747158089178ac3758e7
file + lib/object_parse.c
--- lib/object_parse.c
+++ lib/object_parse.c
@@ -759,7 +759,7 @@ got_object_read_commit(struct got_commit_object **comm
return err;
SHA1Final(id.sha1, &sha1_ctx);
- if (memcmp(expected_id->sha1, id.sha1, SHA1_DIGEST_LENGTH) != 0) {
+ if (got_object_id_cmp(expected_id, &id) != 0) {
char buf[SHA1_DIGEST_STRING_LENGTH];
err = got_error_fmt(GOT_ERR_OBJ_CSUM,
"checksum failure for object %s",
@@ -932,7 +932,7 @@ got_object_read_tree(struct got_parsed_tree_entry **en
return err;
SHA1Final(id.sha1, &sha1_ctx);
- if (memcmp(expected_id->sha1, id.sha1, SHA1_DIGEST_LENGTH) != 0) {
+ if (got_object_id_cmp(expected_id, &id) != 0) {
char buf[SHA1_DIGEST_STRING_LENGTH];
err = got_error_fmt(GOT_ERR_OBJ_CSUM,
"checksum failure for object %s",
@@ -1176,7 +1176,7 @@ got_object_read_tag(struct got_tag_object **tag, int f
return err;
SHA1Final(id.sha1, &sha1_ctx);
- if (memcmp(expected_id->sha1, id.sha1, SHA1_DIGEST_LENGTH) != 0) {
+ if (got_object_id_cmp(expected_id, &id) != 0) {
char buf[SHA1_DIGEST_STRING_LENGTH];
err = got_error_fmt(GOT_ERR_OBJ_CSUM,
"checksum failure for object %s",
some memcmp -> got_object_id_cmp in object_parse.c