|
|
|
@ -50,8 +50,8 @@ static const int b64table[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
|
|
|
*
|
|
|
|
|
* \return The decoded value (0 or above), or -1 if the parameter is invalid
|
|
|
|
|
*/
|
|
|
|
|
static inline int GetBase64Value(uint8_t c) {
|
|
|
|
|
|
|
|
|
|
static inline int GetBase64Value(uint8_t c)
|
|
|
|
|
{
|
|
|
|
|
int val = -1;
|
|
|
|
|
|
|
|
|
|
/* Pull from conversion table */
|
|
|
|
@ -70,8 +70,8 @@ static inline int GetBase64Value(uint8_t c) {
|
|
|
|
|
*
|
|
|
|
|
* \return none
|
|
|
|
|
*/
|
|
|
|
|
static inline void DecodeBase64Block(uint8_t ascii[ASCII_BLOCK], uint8_t b64[B64_BLOCK]) {
|
|
|
|
|
|
|
|
|
|
static inline void DecodeBase64Block(uint8_t ascii[ASCII_BLOCK], uint8_t b64[B64_BLOCK])
|
|
|
|
|
{
|
|
|
|
|
ascii[0] = (uint8_t) (b64[0] << 2) | (b64[1] >> 4);
|
|
|
|
|
ascii[1] = (uint8_t) (b64[1] << 4) | (b64[2] >> 2);
|
|
|
|
|
ascii[2] = (uint8_t) (b64[2] << 6) | (b64[3]);
|
|
|
|
@ -89,8 +89,8 @@ static inline void DecodeBase64Block(uint8_t ascii[ASCII_BLOCK], uint8_t b64[B64
|
|
|
|
|
* \return Number of bytes decoded, or 0 if no data is decoded or it fails
|
|
|
|
|
*/
|
|
|
|
|
uint32_t DecodeBase64(uint8_t *dest, const uint8_t *src, uint32_t len,
|
|
|
|
|
int strict) {
|
|
|
|
|
|
|
|
|
|
int strict)
|
|
|
|
|
{
|
|
|
|
|
int val;
|
|
|
|
|
uint32_t padding = 0, numDecoded = 0, bbidx = 0, valid = 1, i;
|
|
|
|
|
uint8_t *dptr = dest;
|
|
|
|
|