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

Function base64_encode_using_maps

ccan/ccan/base64/base64.c:88–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86}
87
88ssize_t base64_encode_using_maps(const base64_maps_t *maps,
89 char *dest, const size_t destlen,
90 const char *src, const size_t srclen)
91{
92 size_t src_offset = 0;
93 size_t dest_offset = 0;
94
95 if (destlen < base64_encoded_length(srclen)) {
96 errno = EOVERFLOW;
97 return -1;
98 }
99
100 while (srclen - src_offset >= 3) {
101 base64_encode_triplet_using_maps(maps, &dest[dest_offset], &src[src_offset]);
102 src_offset += 3;
103 dest_offset += 4;
104 }
105
106 if (src_offset < srclen) {
107 base64_encode_tail_using_maps(maps, &dest[dest_offset], &src[src_offset], srclen-src_offset);
108 dest_offset += 4;
109 }
110
111 memset(&dest[dest_offset], '\0', destlen-dest_offset);
112
113 return dest_offset;
114}
115
116size_t base64_decoded_length(size_t srclen)
117{

Callers 2

base64_encodeFunction · 0.85
rune_to_base64Function · 0.85

Calls 3

base64_encoded_lengthFunction · 0.85

Tested by

no test coverage detected