aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstddjb/uint64_fmtlist_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstddjb/uint64_fmtlist_generic.c')
-rw-r--r--src/libstddjb/uint64_fmtlist_generic.c16
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 ;
+}