DoxigAlpha

calcSizeUpperBound

Return the maximum possible decoded size for a given input length - The actual length may be less if the input includes padding. InvalidPadding is returned if the input length is not valid.

Function parameters

Parameters

#
decoder_with_ignore:*const Base64DecoderWithIgnore
source_len:usize

Base64 codecs

Types

#
Codecs
Base64 codecs

Error sets in this namespace

Error Sets

#

The Base64 alphabet defined in

Values

#
standard_alphabet_chars
The Base64 alphabet defined in
standard
Standard Base64 codecs, with padding, as defined in
standard_no_pad
Standard Base64 codecs, without padding, as defined in
url_safe_alphabet_chars
The URL-safe Base64 alphabet defined in
url_safe
URL-safe Base64 codecs, with padding, as defined in
url_safe_no_pad
URL-safe Base64 codecs, without padding, as defined in

Source

Implementation

#
pub fn calcSizeUpperBound(decoder_with_ignore: *const Base64DecoderWithIgnore, source_len: usize) Error!usize {
    var result = source_len / 4 * 3;
    if (decoder_with_ignore.decoder.pad_char == null) {
        const leftover = source_len % 4;
        result += leftover * 3 / 4;
    }
    return result;
}