diff options
Diffstat (limited to 'libcharconv_tally_marks.c')
| -rw-r--r-- | libcharconv_tally_marks.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/libcharconv_tally_marks.c b/libcharconv_tally_marks.c index e94f48d..c8156e9 100644 --- a/libcharconv_tally_marks.c +++ b/libcharconv_tally_marks.c @@ -7,14 +7,9 @@ libcharconv_tally_marks(const char *s, size_t slen, size_t *n, uint_least32_t *c { uint_least32_t c; *n = 0; - for (; slen--; s++) { - switch (*s) { - case '1': c = UINT32_C(0x13D77); goto conv; - case '5': c = UINT32_C(0x13D78); goto conv; - default: - *n += 1u; - break; - } + for (; slen--; s++, ++*n) { + PLAIN_SINGLE('1', 0x13D77); + PLAIN_SINGLE('5', 0x13D78); } no_conv: return LIBCHARCONV_NO_CONVERT; |
