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

Function encode_8_chars

ccan/ccan/str/base32/base32.c:119–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117}
118
119static void encode_8_chars(char *dest, const uint8_t *buf, int bytes)
120{
121 beint64_t val = 0;
122 uint64_t res;
123 int bits = bytes * 8;
124
125 assert(bytes > 0 && bytes <= 5);
126 memcpy((char *)&val + 3, buf, bytes);
127 res = be64_to_cpu(val);
128
129 while (bits > 0) {
130 *dest = base32_chars[(res >> 35) & 0x1F];
131 dest++;
132 res <<= 5;
133 bits -= 5;
134 }
135
136 if (bytes != 5)
137 memset(dest, base32_chars[32], padlen(bytes));
138}
139
140bool base32_encode(const void *buf, size_t bufsize, char *dest, size_t destsize)
141{

Callers 1

base32_encodeFunction · 0.85

Calls 2

be64_to_cpuFunction · 0.85
padlenFunction · 0.85

Tested by

no test coverage detected