35 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
45 "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$m$$$ncdefghijkl$$$$$$"
46 "$/0123456789:;<=>?@ABCDEFGH$$$$$$IJKLMNOPQRSTUVWXYZ[\\]^_`ab$$$$"
47 "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
48 "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$";
57 out[2] = (n_in > 1) ? (
b64_map[((
in[1] & 0x0F) << 2) | ((
in[2] & 0xC0) >> 6)])
66 return (
size + 2) / 3 * 4 + (wrap_lines * ((
size - 1) / 57));
71 const void*
const buf,
73 const bool wrap_lines)
75 bool has_newline =
false;
77 for (
size_t i = 0,
j = 0;
i <
size;
i += 3,
j += 4) {
82 if (wrap_lines &&
i > 0 && (
i % 57) == 0) {
106 return 1 + (
in[2] !=
'=') + ((
in[2] !=
'=') && (
in[3] !=
'='));
112 void* buf =
malloc((len * 3) / 4 + 2);
115 for (
size_t i = 0,
j = 0;
i < len;
j += 3) {
118 for (;
i < len && n_in < 4; ++n_in) {
bool serd_base64_encode(uint8_t *const str, const void *const buf, const size_t size, const bool wrap_lines)
Definition base64.c:70
static const uint8_t b64_map[]
Definition base64.c:34
static void encode_chunk(uint8_t out[4], const uint8_t in[3], size_t n_in)
Definition base64.c:52
static size_t decode_chunk(const uint8_t in[4], uint8_t out[3])
Definition base64.c:101
static const char b64_unmap[]
Definition base64.c:44
size_t serd_base64_get_length(const size_t size, const bool wrap_lines)
Definition base64.c:64
static uint8_t unmap(const uint8_t in)
Definition base64.c:94
register unsigned j
Definition inflate.c:1576
register unsigned i
Definition inflate.c:1575
void * serd_base64_decode(const uint8_t *str, size_t len, size_t *size)
Definition base64.c:110
float in
Definition lilv_test.c:1460
float out
Definition lilv_test.c:1461
unsigned char uint8_t
Definition mid.cpp:98
static bool is_base64(const uint8_t c)
Definition string_utils.h:87
memcpy(hh, h, RAND_HEAD_LEN)
#define MIN(a, b)
Definition unzpriv.h:2649