diff options
| author | Mattias Andrée <m@maandree.se> | 2026-01-28 19:52:45 +0100 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-01-28 19:52:45 +0100 |
| commit | 579e91697244d5813a667bf49209ea4102bcd360 (patch) | |
| tree | 2910e440fbaf968e8010b054e29c8e57b60b8935 /libcharconv_mirrored.c | |
| parent | Add ROTATED CAPITAL Q (diff) | |
| download | charconv-579e91697244d5813a667bf49209ea4102bcd360.tar.gz charconv-579e91697244d5813a667bf49209ea4102bcd360.tar.bz2 charconv-579e91697244d5813a667bf49209ea4102bcd360.tar.xz | |
Misc stuff
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libcharconv_mirrored.c')
| -rw-r--r-- | libcharconv_mirrored.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libcharconv_mirrored.c b/libcharconv_mirrored.c index a71e480..4c13c43 100644 --- a/libcharconv_mirrored.c +++ b/libcharconv_mirrored.c @@ -50,6 +50,11 @@ libcharconv_mirrored(const char *s, size_t slen, size_t *n, uint_least32_t *cp, c = c % 7u * 7u + c / 7u; c += UINT32_C(0x1F031); goto conv; + } else if (UINT32_C(0x2800) <= c && c <= UINT32_C(0x28FF)) { + c = ((c & 0x07u) << 3) | ((c & 0x38u) >> 3) + | ((c & 0x40u) << 1) | ((c & 0x80u) >> 1) + | UINT32_C(0x2800); + goto conv; } else { for (i = 0u; i < sizeof(pairs) / sizeof(*pairs); i++) { if (c == pairs[i].a) { |
