From: Stefano Babic Date: Thu, 19 Aug 2021 16:11:02 +0000 (+0200) Subject: Add a uthash to uncompressed digest X-Git-Tag: archive/raspbian/1.2.1+ds1-1+rpi1^2~7^2~1^2~21^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b299f39a07b6f5e37b4417361fe3a630e9522a0f;p=zchunk.git Add a uthash to uncompressed digest Signed-off-by: Stefano Babic --- 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;