Files
OpenSceneGraph/src/osgPlugins/osgjs/Base64.cpp
Alberto Luaces 01c712e851 Explicit signed char declarations for portability.
Some platforms (ARM, PowerPC, s390x) have "unsigned char" as the default
char type, and thus the build fails for certain parts of the code where
negative values are assigned to those kind of variables.
2016-09-24 12:33:37 +02:00

43 lines
1.3 KiB
C++

#include "Base64"
namespace base64
{
const char _to_table[64] =
{ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', '+', '/'
};
const char* to_table = _to_table;
const char* to_table_end =
_to_table + sizeof(_to_table);
const signed char _from_table[128] =
{
-1, -1, -1, -1, -1, -1, -1, -1, // 0
-1, -1, -1, -1, -1, -1, -1, -1, // 8
-1, -1, -1, -1, -1, -1, -1, -1, // 16
-1, -1, -1, -1, -1, -1, -1, -1, // 24
-1, -1, -1, -1, -1, -1, -1, -1, // 32
-1, -1, -1, 62, -1, -1, -1, 63, // 40
52, 53, 54, 55, 56, 57, 58, 59, // 48
60, 61, -1, -1, -1, 0, -1, -1, // 56
-1, 0, 1, 2, 3, 4, 5, 6, // 64
7, 8, 9, 10, 11, 12, 13, 14, // 72
15, 16, 17, 18, 19, 20, 21, 22, // 80
23, 24, 25, -1, -1, -1, -1, -1, // 88
-1, 26, 27, 28, 29, 30, 31, 32, // 96
33, 34, 35, 36, 37, 38, 39, 40, // 104
41, 42, 43, 44, 45, 46, 47, 48, // 112
49, 50, 51, -1, -1, -1, -1, -1 // 120
};
const signed char* from_table = _from_table;
}