Skip to content

Commit

Permalink
Declare Base64 decoding array as signed char
Browse files Browse the repository at this point in the history
Need to use "signed char" explicitly to work around char being unsigned by
default on ARM, causing compile errors:
https://stackoverflow.com/a/31635045/648162
  • Loading branch information
qris committed Jul 23, 2017
1 parent 9ec6ba8 commit 9324200
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/httpserver/cdecode.cpp
Expand Up @@ -12,7 +12,9 @@ extern "C"

int base64_decode_value(char value_in)
{
static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
// Need to use "signed char" explicitly to work around char being unsigned by default
// on ARM, causing compile errors: https://stackoverflow.com/a/31635045/648162
static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
static const char decoding_size = sizeof(decoding);
value_in -= 43;
if (value_in < 0 || value_in > decoding_size) return -1;
Expand Down

0 comments on commit 9324200

Please sign in to comment.