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

Function malloc_vsnprintf

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

Source from the content-addressed store, hash-verified

337}
338
339size_t
340malloc_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
341 size_t i;
342 const char *f;
343
344#define APPEND_C(c) do { \
345 if (i < size) { \
346 str[i] = (c); \
347 } \
348 i++; \
349} while (0)
350#define APPEND_S(s, slen) do { \
351 if (i < size) { \
352 size_t cpylen = (slen <= size - i) ? slen : size - i; \
353 memcpy(&str[i], s, cpylen); \
354 } \
355 i += slen; \
356} while (0)
357#define APPEND_PADDED_S(s, slen, width, left_justify) do { \
358 /* Left padding. */ \
359 size_t pad_len = (width == -1) ? 0 : ((slen < (size_t)width) ? \
360 (size_t)width - slen : 0); \
361 if (!left_justify && pad_len != 0) { \
362 size_t j; \
363 for (j = 0; j < pad_len; j++) { \
364 APPEND_C(' '); \
365 } \
366 } \
367 /* Value. */ \
368 APPEND_S(s, slen); \
369 /* Right padding. */ \
370 if (left_justify && pad_len != 0) { \
371 size_t j; \
372 for (j = 0; j < pad_len; j++) { \
373 APPEND_C(' '); \
374 } \
375 } \
376} while (0)
377#define GET_ARG_NUMERIC(val, len) do { \
378 switch (len) { \
379 case '?': \

Callers 3

prof_dump_printfFunction · 0.70
prof_open_mapsFunction · 0.70
malloc_io.cFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected