aboutsummaryrefslogtreecommitdiffstats
path: root/libblake_blake224_digest_get_required_input_size.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblake_blake224_digest_get_required_input_size.c')
-rw-r--r--libblake_blake224_digest_get_required_input_size.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libblake_blake224_digest_get_required_input_size.c b/libblake_blake224_digest_get_required_input_size.c
index dab239d..bba8eed 100644
--- a/libblake_blake224_digest_get_required_input_size.c
+++ b/libblake_blake224_digest_get_required_input_size.c
@@ -4,5 +4,11 @@
size_t
libblake_blake224_digest_get_required_input_size(size_t len, size_t bits, const char *suffix)
{
- return libblake_blake256_digest_get_required_input_size(len, bits, suffix);
+ bits += suffix ? strlen(suffix) : 0;
+ len += bits >> 3;
+ bits &= 7;
+ bits += (len & 63) << 3;
+ len &= ~(size_t)63;
+ len += (size_t)64 << (bits >= 512 - (1 + 2 * 32));
+ return len;
}