diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-02-27 00:28:59 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-02-27 00:28:59 -0500 |
commit | 015d33c5075b9c0a4df8f28e844e4f7ace91c647 (patch) | |
tree | 6afdfbd8af5c6c7a550f8cf4a070e965b6806897 /src/multibyte/internal.c | |
parent | 2a195dd31ceb2a483ea547444aac080bee132ad2 (diff) | |
download | musl-015d33c5075b9c0a4df8f28e844e4f7ace91c647.tar.gz musl-015d33c5075b9c0a4df8f28e844e4f7ace91c647.tar.bz2 musl-015d33c5075b9c0a4df8f28e844e4f7ace91c647.tar.xz musl-015d33c5075b9c0a4df8f28e844e4f7ace91c647.zip |
cleanup utf-8 multibyte code, use visibility if possible
this code was written independently of musl, with support for a the
backwards, nonstandard "31-bit unicode" some libraries/apps might
want. unfortunately the extra code (inside #ifdef) makes the source
harder to read and makes code that should be simple look complex, so
i'm removing it. anyone who wants to use the old code can find it in
the history or from elsewhere.
also, change the visibility of the __fsmu8 state machine table to
hidden, if supported. this should improve performance slightly in
shared-library builds.
Diffstat (limited to 'src/multibyte/internal.c')
-rw-r--r-- | src/multibyte/internal.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/multibyte/internal.c b/src/multibyte/internal.c index e9b938dd..11b9818f 100644 --- a/src/multibyte/internal.c +++ b/src/multibyte/internal.c @@ -15,27 +15,6 @@ R(0x80,0xc0) ) \ | ( R(0x80,0xc0) >> 6 ) \ | x ) -#ifdef I_FAILED_TO_RTFM_RFC3629 -#define F0(x) (( x==0 ? R(0x90,0xc0) : \ - R(0x80,0xc0) ) \ - | ( R(0x80,0xc0) >> 6 ) \ - | ( R(0x80,0xc0) >> 12 ) \ - | x ) -#define F8(x) (( x==0 ? R(0xa0,0xc0) : \ - R(0x80,0xc0) ) \ - | ( R(0x80,0xc0) >> 6 ) \ - | ( R(0x80,0xc0) >> 12 ) \ - | ( R(0x80,0xc0) >> 18 ) \ - | x ) -#define FC(x) (( x==0 ? R(0x88,0xc0) : \ - R(0x80,0xc0) ) \ - | ( R(0x80,0xc0) >> 6 ) \ - | ( R(0x80,0xc0) >> 12 ) \ - | ( R(0x80,0xc0) >> 18 ) \ - | ( R(0x80,0xc0) >> 24 ) \ - | x ) -#define F(x) ( x<8 ? F0(x) : x<12 ? F8((x&3)) : x<14 ? FC((x&1)) : -1 ) -#else #define F(x) ( ( x>=5 ? 0 : \ x==0 ? R(0x90,0xc0) : \ x==4 ? R(0x80,0xa0) : \ @@ -43,7 +22,6 @@ | ( R(0x80,0xc0) >> 6 ) \ | ( R(0x80,0xc0) >> 12 ) \ | x ) -#endif const uint32_t bittab[] = { C(0x2),C(0x3),C(0x4),C(0x5),C(0x6),C(0x7), @@ -52,9 +30,5 @@ const uint32_t bittab[] = { D(0x8),D(0x9),D(0xa),D(0xb),D(0xc),D(0xd),D(0xe),D(0xf), E(0x0),E(0x1),E(0x2),E(0x3),E(0x4),E(0x5),E(0x6),E(0x7), E(0x8),E(0x9),E(0xa),E(0xb),E(0xc),E(0xd),E(0xe),E(0xf), - F(0x0),F(0x1),F(0x2),F(0x3),F(0x4), -#ifdef I_FAILED_TO_RTFM_RFC3629 - F(0x5),F(0x6),F(0x7), - F(0x8),F(0x9),F(0xa),F(0xb),F(0xc),F(0xd) -#endif + F(0x0),F(0x1),F(0x2),F(0x3),F(0x4) }; |