From b299f39a07b6f5e37b4417361fe3a630e9522a0f Mon Sep 17 00:00:00 2001 From: Stefano Babic Date: Thu, 19 Aug 2021 18:11:02 +0200 Subject: [PATCH] Add a uthash to uncompressed digest Signed-off-by: Stefano Babic --- src/lib/index/index_read.c | 4 ++++ src/lib/zck_private.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/lib/index/index_read.c b/src/lib/index/index_read.c index ea0ecbe..fe0ee13 100644 --- a/src/lib/index/index_read.c +++ b/src/lib/index/index_read.c @@ -106,6 +106,10 @@ bool index_read(zckCtx *zck, char *data, size_t size, size_t max_length) { } memcpy(new->digest_uncompressed, data+length, zck->index.digest_size); new->digest_size_uncompressed = zck->index.digest_size; + HASH_FIND(hh, zck->index.ht, new->digest, new->digest_size, tmp); + if(!tmp) + HASH_ADD_KEYPTR(hhuncomp, zck->index_uncomp.ht, new->digest_uncompressed, new->digest_size, + new); length += zck->index.digest_size; } /* Read and store entry length */ diff --git a/src/lib/zck_private.h b/src/lib/zck_private.h index 49eb4c3..d21f8c5 100644 --- a/src/lib/zck_private.h +++ b/src/lib/zck_private.h @@ -161,6 +161,7 @@ struct zckChunk { struct zckChunk *src; zckCtx *zck; UT_hash_handle hh; + UT_hash_handle hhuncomp; }; /* Contains everything about an index and a pointer to the first index item */ @@ -264,6 +265,7 @@ struct zckCtx { zckIndex index; zckChunk *work_index_item; zckHash work_index_hash; + zckIndex index_uncomp; zckChunk *work_index_item_uncomp; zckHash work_index_hash_uncomp; size_t stream; -- 2.30.2