From b5f05ba6b58606f1da39c562fb33754992f7f937 Mon Sep 17 00:00:00 2001 From: Stefano Babic Date: Mon, 16 Aug 2021 12:38:59 +0200 Subject: [PATCH] zck_read_header: fix header with uncompressed If checksum for uncompressed chunk is added to index, resize the header to take into account that two sha will be printed. Signed-off-by: Stefano Babic --- src/zck_read_header.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/zck_read_header.c b/src/zck_read_header.c index 21e9bee..5a3b37c 100644 --- a/src/zck_read_header.c +++ b/src/zck_read_header.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -167,8 +168,6 @@ int main (int argc, char *argv[]) { if(!arguments.quiet && arguments.show_chunks) printf("\n"); if(arguments.show_chunks) { - printf(" Chunk Checksum %*c Start Comp size Size\n", - (((int)zck_get_chunk_digest_size(zck)*2)-9), ' '); for(zckChunk *chk=zck_get_first_chunk(zck); chk; chk=zck_get_next_chunk(chk)) { char *digest = zck_get_chunk_digest(chk); @@ -180,6 +179,17 @@ int main (int argc, char *argv[]) { if (!digest_uncompressed) digest_uncompressed = ""; + if (chk == zck_get_first_chunk(zck)) { + bool has_uncompressed = (strlen(digest_uncompressed) > 0); + if (has_uncompressed) + printf(" Chunk Checksum %*cChecksum uncompressed %*c Start Comp size Size\n", + (((int)zck_get_chunk_digest_size(zck) * 2) - (int)strlen("Checksum")), ' ', + ((int)zck_get_chunk_digest_size(zck) * 2) - (int)strlen("Uncompressed Checksum"), ' '); + else + printf(" Chunk Checksum %*c Start Comp size Size\n", + (((int)zck_get_chunk_digest_size(zck) * 2) - (int)strlen("Checksum")), ' '); + + } printf("%12lu %s %s %12lu %12lu %12lu", (long unsigned)zck_get_chunk_number(chk), digest, -- 2.30.2