@@ -33,10 +33,10 @@ std::string Base64::checkInput(const std::string& base64_input) {
3333}
3434
3535// Code adapted from Stack Overflow https://stackoverflow.com/a/37109258/20806857
36- const std::string Base64::b64encode (const void * data, const size_t &len)
36+ const std::string Base64::b64encode (const unsigned char * data, const size_t &len)
3737{
3838 std::string result ((len + 2 ) / 3 * 4 , ' =' );
39- unsigned char *p = ( unsigned char *) data;
39+ const unsigned char *p = data;
4040 char *str = &result[0 ];
4141 size_t j = 0 , pad = len % 3 ;
4242 const size_t last = len - pad;
@@ -59,11 +59,11 @@ const std::string Base64::b64encode(const void* data, const size_t &len)
5959 return result;
6060}
6161
62- const std::string Base64::b64decode (const void * data, const size_t &len)
62+ const std::string Base64::b64decode (const unsigned char * data, const size_t &len)
6363{
6464 if (len == 0 ) return " " ;
6565
66- unsigned char *p = ( unsigned char *) data;
66+ const unsigned char *p = data;
6767 size_t j = 0 ,
6868 pad1 = len % 4 || p[len - 1 ] == ' =' ,
6969 pad2 = pad1 && (len % 4 > 2 || p[len - 2 ] != ' =' );
@@ -93,12 +93,12 @@ const std::string Base64::b64decode(const void* data, const size_t &len)
9393
9494std::string Base64::b64encode (const std::string& str)
9595{
96- return b64encode (str.c_str (), str.size ());
96+ return b64encode (reinterpret_cast < const unsigned char *>( str.c_str () ), str.size ());
9797}
9898
9999std::string Base64::b64decode (const std::string& str64)
100100{
101- return b64decode (str64.c_str (), str64.size ());
101+ return b64decode (reinterpret_cast < const unsigned char *>( str64.c_str () ), str64.size ());
102102}
103103
104104bool Base64::isValidBase64 (const std::string& input) {
0 commit comments