From: Stephan Bosch Date: Wed, 15 May 2019 08:09:01 +0000 (+0200) Subject: lib: base64 - Add base64_get_full_encoded_size(). X-Git-Tag: 2.3.8~129 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c4807a49f503f066ab7c44f80b1fee0f10c3493;p=thirdparty%2Fdovecot%2Fcore.git lib: base64 - Add base64_get_full_encoded_size(). --- diff --git a/src/lib/base64.c b/src/lib/base64.c index 980aa12005..96ecde5cc4 100644 --- a/src/lib/base64.c +++ b/src/lib/base64.c @@ -8,6 +8,17 @@ * Low-level Base64 encoder */ +off_t base64_get_full_encoded_size(struct base64_encoder *enc ATTR_UNUSED, + off_t src_size) +{ + off_t out_size; + + /* calculate size of encoded data */ + out_size = MAX_BASE64_ENCODED_SIZE(src_size); + + return out_size; +} + static size_t base64_encode_get_out_size(struct base64_encoder *enc, size_t src_size) { diff --git a/src/lib/base64.h b/src/lib/base64.h index cfb7807095..03f699e4c9 100644 --- a/src/lib/base64.h +++ b/src/lib/base64.h @@ -61,6 +61,10 @@ base64_encode_reset(struct base64_encoder *enc) base64_encode_init(enc, b64); } +/* Translate the size of the full encoder input to the size of the encoder + output. + */ +off_t base64_get_full_encoded_size(struct base64_encoder *enc, off_t src_size); /* Translate the size of the next input to the size of the output once encoded. This yields the amount of data appended to the dest buffer by base64_encode_more() with the indicated src_size. */