pub fn calcSizeUpperBound(decoder: *const Base64Decoder, source_len: usize) Error!usize decoder: *const Base64Decodersource_len: usizeInvalidCharacterInvalidPaddingNoSpaceLeft203
204
205
206
207
208
209
210
211
212
213 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;
}
Return the maximum possible decoded size for a given input length - The actual length may be less if the input includes padding.
InvalidPaddingis returned if the input length is not valid.