MCPcopy Create free account
hub / github.com/ElementsProject/lightning / base64_decode_quartet_using_maps

Function base64_decode_quartet_using_maps

ccan/ccan/base64/base64.c:121–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119}
120
121ssize_t base64_decode_quartet_using_maps(const base64_maps_t *maps, char dest[3],
122 const char src[4])
123{
124 signed char a;
125 signed char b;
126 signed char c;
127 signed char d;
128
129 a = sixbit_from_b64(maps, src[0]);
130 b = sixbit_from_b64(maps, src[1]);
131 c = sixbit_from_b64(maps, src[2]);
132 d = sixbit_from_b64(maps, src[3]);
133
134 if ((a == -1) || (b == -1) || (c == -1) || (d == -1)) {
135 return -1;
136 }
137
138 dest[0] = (a << 2) | (b >> 4);
139 dest[1] = ((b & 0xf) << 4) | (c >> 2);
140 dest[2] = ((c & 0x3) << 6) | d;
141
142 return 0;
143}
144
145
146ssize_t base64_decode_tail_using_maps(const base64_maps_t *maps, char dest[3],

Callers 3

base64_decode_using_mapsFunction · 0.85
base64_decode_quartetFunction · 0.85

Calls 1

sixbit_from_b64Function · 0.85

Tested by

no test coverage detected