MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / u2s

Function u2s

deps/jemalloc/src/malloc_io.c:234–274  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232}
233
234static char *
235u2s(uintmax_t x, unsigned base, bool uppercase, char *s, size_t *slen_p) {
236 unsigned i;
237
238 i = U2S_BUFSIZE - 1;
239 s[i] = '\0';
240 switch (base) {
241 case 10:
242 do {
243 i--;
244 s[i] = "0123456789"[x % (uint64_t)10];
245 x /= (uint64_t)10;
246 } while (x > 0);
247 break;
248 case 16: {
249 const char *digits = (uppercase)
250 ? "0123456789ABCDEF"
251 : "0123456789abcdef";
252
253 do {
254 i--;
255 s[i] = digits[x & 0xf];
256 x >>= 4;
257 } while (x > 0);
258 break;
259 } default: {
260 const char *digits = (uppercase)
261 ? "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
262 : "0123456789abcdefghijklmnopqrstuvwxyz";
263
264 assert(base >= 2 && base <= 36);
265 do {
266 i--;
267 s[i] = digits[x % (uint64_t)base];
268 x /= (uint64_t)base;
269 } while (x > 0);
270 }}
271
272 *slen_p = U2S_BUFSIZE - 1 - i;
273 return &s[i];
274}
275
276static char *
277d2s(intmax_t x, char sign, char *s, size_t *slen_p) {

Callers 4

d2sFunction · 0.70
o2sFunction · 0.70
x2sFunction · 0.70
malloc_io.cFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected