in src/base64.c [39:61]
void b64_encode(const char* src, unsigned srclen, char* dst) {
unsigned buf = 0;
int pos = 2;
while (srclen--) {
buf |= (unsigned char)*(src++) << ((pos--) << 3);
if (pos < 0) {
*dst++ = bin_to_b64[(buf >> 18) & 0x3f];
*dst++ = bin_to_b64[(buf >> 12) & 0x3f];
*dst++ = bin_to_b64[(buf >> 6) & 0x3f];
*dst++ = bin_to_b64[buf & 0x3f];
pos = 2;
buf = 0;
}
}
if (pos != 2) {
*dst++ = bin_to_b64[(buf >> 18) & 0x3f];
*dst++ = bin_to_b64[(buf >> 12) & 0x3f];
*dst++ = (pos == 0) ? bin_to_b64[(buf >> 6) & 0x3f] : '=';
*dst++ = '=';
}
}