Function calcSizeUpperBound [src]
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.
Prototype
pub fn calcSizeUpperBound(decoder: *const Base64Decoder, source_len: usize) Error!usize
Parameters
decoder: *const Base64Decoder
source_len: usize
Possible Errors
Source
pub fn calcSizeUpperBound(decoder: *const Base64Decoder, source_len: usize) Error!usize {
var result = source_len / 4 * 3;
const leftover = source_len % 4;
if (decoder.pad_char != null) {
if (leftover % 4 != 0) return error.InvalidPadding;
} else {
if (leftover % 4 == 1) return error.InvalidPadding;
result += leftover * 3 / 4;
}
return result;
}