https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9aca9f7d22519cc4eb81f...
commit f9aca9f7d22519cc4eb81f66748b3691c4f40bf9 Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Wed Apr 21 19:12:43 2021 +0200 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Wed May 5 17:24:13 2021 +0200
[CONSRV] wcwidth.c: Fix out-of-range comparisons Clang warnings for wchar_t's, that are only 2 bytes long on NT. (#3619) CORE-17545
win32ss/user/winsrv/consrv/frontends/wcwidth.c:203:30: warning: result of comparison of constant 262141 with expression of type 'wchar_t' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] (ucs >= 0x30000 && ucs <= 0x3fffd))); ~~~ ^ ~~~~~~~ win32ss/user/winsrv/consrv/frontends/wcwidth.c:203:12: warning: result of comparison of constant 196608 with expression of type 'wchar_t' (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare] (ucs >= 0x30000 && ucs <= 0x3fffd))); ~~~ ^ ~~~~~~~ win32ss/user/winsrv/consrv/frontends/wcwidth.c:202:30: warning: result of comparison of constant 196605 with expression of type 'wchar_t' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] (ucs >= 0x20000 && ucs <= 0x2fffd) || ~~~ ^ ~~~~~~~ win32ss/user/winsrv/consrv/frontends/wcwidth.c:202:12: warning: result of comparison of constant 131072 with expression of type 'wchar_t' (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare] (ucs >= 0x20000 && ucs <= 0x2fffd) || ~~~ ^ ~~~~~~~ --- win32ss/user/winsrv/consrv/frontends/wcwidth.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/win32ss/user/winsrv/consrv/frontends/wcwidth.c b/win32ss/user/winsrv/consrv/frontends/wcwidth.c index 61e822ad679..6a39b02a2a6 100644 --- a/win32ss/user/winsrv/consrv/frontends/wcwidth.c +++ b/win32ss/user/winsrv/consrv/frontends/wcwidth.c @@ -198,9 +198,13 @@ int mk_wcwidth(wchar_t ucs) (ucs >= 0xfe10 && ucs <= 0xfe19) || /* Vertical forms */ (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */ (ucs >= 0xff00 && ucs <= 0xff60) || /* Fullwidth Forms */ - (ucs >= 0xffe0 && ucs <= 0xffe6) || + (ucs >= 0xffe0 && ucs <= 0xffe6) +#if !defined(__REACTOS__) || (defined(WCHAR_MAX) && (WCHAR_MAX >= 0x10000)) + || (ucs >= 0x20000 && ucs <= 0x2fffd) || - (ucs >= 0x30000 && ucs <= 0x3fffd))); + (ucs >= 0x30000 && ucs <= 0x3fffd) +#endif + )); }