#define FR_BASE64_ENC_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
#define FR_BASE64_DEC_LENGTH(inlen) ((3 * (inlen / 4)) + 2)
-int fr_isbase64(char c);
+bool fr_is_base64(char c);
size_t fr_base64_encode(char *out, size_t outlen, uint8_t const *in, size_t inlen);
* @return true if CH is a character from the Base64 alphabet, and false
* otherwise.
*/
-int fr_isbase64(char c)
+bool fr_is_base64(char c)
{
return b64[us(c)] >= 0;
}
}
while (inlen >= 2) {
- if (!fr_isbase64(in[0]) || !fr_isbase64(in[1])) {
+ if (!fr_is_base64(in[0]) || !fr_is_base64(in[1])) {
break;
}
if (in[2] == '=') {
if ((inlen != 4) || (in[3] != '=')) break;
} else {
- if (!fr_isbase64(in[2])) break;
+ if (!fr_is_base64(in[2])) break;
*p++ = ((b64[us(in[1])] << 4) & 0xf0) | (b64[us(in[2])] >> 2);
if (in[3] == '=') {
if (inlen != 4) break;
} else {
- if (!fr_isbase64(in[3])) break;
+ if (!fr_is_base64(in[3])) break;
*p++ = ((b64[us(in[2])] << 6) & 0xc0) | b64[us(in[3])];
}