diff options
Diffstat (limited to 'libcharconv_segmented.c')
| -rw-r--r-- | libcharconv_segmented.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libcharconv_segmented.c b/libcharconv_segmented.c index 87bf1c1..4508585 100644 --- a/libcharconv_segmented.c +++ b/libcharconv_segmented.c @@ -7,13 +7,8 @@ libcharconv_segmented(const char *s, size_t slen, size_t *n, uint_least32_t *cp, { uint_least32_t c; *n = 0; - for (; slen--; s++) { - if ('0' <= *s && *s <= '9') { - c = (uint_least32_t)(UINT32_C(0x1FBF0) + (unsigned)(*s - '0')); - goto conv; - } else { - *n += 1u; - } + for (; slen--; s++, ++*n) { + PLAIN_RANGE('0', '9', 0x1FBF0); } no_conv: return LIBCHARCONV_NO_CONVERT; |
