summaryrefslogtreecommitdiff
path: root/src/libstddjb/uint16_scan.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-07-11 16:19:36 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-07-11 16:19:36 +0000
commit9ec6602c9d3c1a8801d996aa3a56c779ce1c5f70 (patch)
tree5e545ff43b1e5890f0931c244a8b410eb036eb6c /src/libstddjb/uint16_scan.c
parent846cd5b2b12947753f5fd3f02c49f7d828fb763d (diff)
downloadskalibs-9ec6602c9d3c1a8801d996aa3a56c779ce1c5f70.tar.xz
bits-fmtscan refactor, part one
Diffstat (limited to 'src/libstddjb/uint16_scan.c')
-rw-r--r--src/libstddjb/uint16_scan.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libstddjb/uint16_scan.c b/src/libstddjb/uint16_scan.c
index 4c0564e..4b23e64 100644
--- a/src/libstddjb/uint16_scan.c
+++ b/src/libstddjb/uint16_scan.c
@@ -1,6 +1,13 @@
/* ISC license. */
-#include "fmtscan-internal.h"
#include <skalibs/uint16.h>
+#include <skalibs/uint64.h>
+#include "fmtscan-internal.h"
-SCANB(16)
+size_t uint16_scan_base (char const *s, uint16_t *u, uint8_t base)
+{
+ uint64_t uu ;
+ size_t pos = uint64_scan_base_max(s, &uu, base, UINT16_MAX) ;
+ if (pos) *u = (uint16_t)uu ;
+ return pos ;
+}