diff options
Diffstat (limited to 'libcharconv_yijing_monograms.c')
| -rw-r--r-- | libcharconv_yijing_monograms.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/libcharconv_yijing_monograms.c b/libcharconv_yijing_monograms.c index 12177ec..c8cc0d5 100644 --- a/libcharconv_yijing_monograms.c +++ b/libcharconv_yijing_monograms.c @@ -7,15 +7,10 @@ libcharconv_yijing_monograms(const char *s, size_t slen, size_t *n, uint_least32 { uint_least32_t c; *n = 0; - for (; slen--; s++) { - switch (*s) { - case '1': c = UINT32_C(0x268A); goto conv; - case '2': c = UINT32_C(0x268B); goto conv; - case '3': c = UINT32_C(0x1D300); goto conv; - default: - *n += 1u; - break; - } + for (; slen--; s++, ++*n) { + PLAIN_SINGLE('1', 0x268A); + PLAIN_SINGLE('2', 0x268B); + PLAIN_SINGLE('3', 0x1D300); } no_conv: return LIBCHARCONV_NO_CONVERT; |
