Commit c137c9fd authored by Harris Hancock's avatar Harris Hancock

Remove unnecessary branch in base64 decoder

parent f3e0ed22
...@@ -685,11 +685,19 @@ int base64_decode_value(char value_in) { ...@@ -685,11 +685,19 @@ int base64_decode_value(char value_in) {
-3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, -3, 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,-3,-3,-3,-3,-3, 15,16,17,18,19,20,21,22, 23,24,25,-3,-3,-3,-3,-3,
-3,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40, -3,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 41,42,43,44,45,46,47,48, 49,50,51,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3, -3,-3,-3,-3,-3,-3,-3,-3,
}; };
static const char decoding_size = sizeof(decoding); static_assert(sizeof(decoding) == 256, "base64 decoding table size error");
if (value_in < 0 || value_in > decoding_size) return -3; return decoding[(unsigned char)value_in];
return decoding[(int)value_in];
} }
int base64_decode_block(const char* code_in, const int length_in, int base64_decode_block(const char* code_in, const int length_in,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment