diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-07-19 12:34:44 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-07-19 12:34:44 +0000 |
| commit | 34f0e76ca0135b2b302e2b079482a4038149b079 (patch) | |
| tree | 7a91cd9bb866d06b9273212cf5136ccb158e2e29 /src/libstddjb/uint64_fmtlist_generic.c | |
| parent | fd7dc9d1d7311b05e92464de1fc4eab6f2407b51 (diff) | |
| download | skalibs-34f0e76ca0135b2b302e2b079482a4038149b079.tar.gz | |
bits-fmtscan refactor, part two
Diffstat (limited to 'src/libstddjb/uint64_fmtlist_generic.c')
| -rw-r--r-- | src/libstddjb/uint64_fmtlist_generic.c | 16 |
1 files changed, 16 insertions, 0 deletions
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 <skalibs/uint64.h> + +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 ; +} |
