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 Base64Decodersource_len: usize

Possible Errors

InvalidCharacter
InvalidPadding
NoSpaceLeft

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; }