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

Function u2s

deps/memkind/src/jemalloc/src/malloc_io.c:247–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

245}
246
247static char *
248u2s(uintmax_t x, unsigned base, bool uppercase, char *s, size_t *slen_p) {
249 unsigned i;
250
251 i = U2S_BUFSIZE - 1;
252 s[i] = '\0';
253 switch (base) {
254 case 10:
255 do {
256 i--;
257 s[i] = "0123456789"[x % (uint64_t)10];
258 x /= (uint64_t)10;
259 } while (x > 0);
260 break;
261 case 16: {
262 const char *digits = (uppercase)
263 ? "0123456789ABCDEF"
264 : "0123456789abcdef";
265
266 do {
267 i--;
268 s[i] = digits[x & 0xf];
269 x >>= 4;
270 } while (x > 0);
271 break;
272 } default: {
273 const char *digits = (uppercase)
274 ? "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
275 : "0123456789abcdefghijklmnopqrstuvwxyz";
276
277 assert(base >= 2 && base <= 36);
278 do {
279 i--;
280 s[i] = digits[x % (uint64_t)base];
281 x /= (uint64_t)base;
282 } while (x > 0);
283 }}
284
285 *slen_p = U2S_BUFSIZE - 1 - i;
286 return &s[i];
287}
288
289static char *
290d2s(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