diff --git a/cores/esp32/base64.cpp b/cores/esp32/base64.cpp index ce5508fdbedb94e7f734ed8507dc7d3d08114749..e7ba3fadbece985a994e2dab3e8b3ddd5d249bab 100644 --- a/cores/esp32/base64.cpp +++ b/cores/esp32/base64.cpp @@ -37,8 +37,7 @@ extern "C" { */ String base64::encode(uint8_t * data, size_t length) { - // base64 needs more size then the source data - size_t size = ((length * 1.6f) + 1); + size_t size = base64_encode_expected_len(length) + 1; char * buffer = (char *) malloc(size); if(buffer) { base64_encodestate _state; diff --git a/cores/esp32/libb64/cencode.c b/cores/esp32/libb64/cencode.c index ee9a18f05574f1b84a2395e168b435d1bdf3ef00..48a0d30b7e974c51b3c6e91add99f9f75dd48384 100755 --- a/cores/esp32/libb64/cencode.c +++ b/cores/esp32/libb64/cencode.c @@ -7,13 +7,10 @@ For details, see http://sourceforge.net/projects/libb64 #include "cencode.h" -const int CHARS_PER_LINE = 72; - void base64_init_encodestate(base64_encodestate* state_in) { state_in->step = step_A; state_in->result = 0; - state_in->stepcount = 0; } char base64_encode_value(char value_in) @@ -68,12 +65,6 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, *codechar++ = base64_encode_value(result); result = (fragment & 0x03f) >> 0; *codechar++ = base64_encode_value(result); - - ++(state_in->stepcount); - if (state_in->stepcount == CHARS_PER_LINE/4) { - *codechar++ = '\n'; - state_in->stepcount = 0; - } } } /* control should not reach here */