From 34f0e76ca0135b2b302e2b079482a4038149b079 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 19 Jul 2019 12:34:44 +0000 Subject: bits-fmtscan refactor, part two --- src/libstddjb/uint64_fmtlist_generic.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/libstddjb/uint64_fmtlist_generic.c (limited to 'src/libstddjb/uint64_fmtlist_generic.c') diff --git a/src/libstddjb/uint64_fmtlist_generic.c b/src/libstddjb/uint64_fmtlist_generic.c new file mode 100644 index 0000000..6ea2762 --- /dev/null +++ b/src/libstddjb/uint64_fmtlist_generic.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include + +size_t uint64_fmtlist_generic (char *s, void const *tab, size_t n, uint8_t base, uint64_t (*get)(void const *, size_t)) +{ + size_t i = 0, len = 0 ; + for (; i < n ; i++) + { + size_t w = uint64_fmt_generic(s, (*get)(tab, i), base) ; + len += w ; + if (s) s += w ; + if (i < n-1) { len++ ; if (s) *s++ = ',' ; } + } + return len ; +} -- cgit v1.3.1