int breaklength = 68;
int readlength = 3 * breaklength / 4;
- int t;
int destoffset;
int sourceoffset;
int sourceremaining;
dest[destoffset++] = '\n';
}
- t = destoffset;
destoffset += base64_encode_blockend(&(dest[destoffset]), &_state);
- if (t < destoffset) {
- dest[destoffset++] = '\r';
- dest[destoffset++] = '\n';
- }
}
else {
destoffset = base64_encode_block(source, sourcelen, dest, &_state);
int CtdlDecodeBase64(char *dest, const char *source, size_t length)
{
base64_decodestate _state;
+ int len;
base64_init_decodestate(&_state);
- return base64_decode_block(source, length, dest, &_state);
+ len = base64_decode_block(source, length, dest, &_state);
+ dest[len] = '\0';
+ return len;
}