diff options
| author | gingerBill <bill@gingerbill.org> | 2024-10-30 14:12:57 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-10-30 14:12:57 +0000 |
| commit | 8a00d85cea02f38164b18d9a7e3e7d710c7a6c40 (patch) | |
| tree | 67c7f058ddf65e64189d4a76add9d6ad685b366d /src/unicode.cpp | |
| parent | 2392300ffbc86b09fde2a4d170b8c38f8ad0d382 (diff) | |
| parent | f469bbb0049f618d09dd1dd962389c8306db6bbc (diff) | |
Merge branch 'master' of https://github.com/odin-lang/Odin
Diffstat (limited to 'src/unicode.cpp')
| -rw-r--r-- | src/unicode.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/unicode.cpp b/src/unicode.cpp index 665d5b182..cb9fb12ab 100644 --- a/src/unicode.cpp +++ b/src/unicode.cpp @@ -1,10 +1,15 @@ -#pragma warning(push) -#pragma warning(disable: 4245) +#if defined(GB_SYSTEM_WINDOWS) + #pragma warning(push) + #pragma warning(disable: 4245) +#endif extern "C" { #include "utf8proc/utf8proc.c" } -#pragma warning(pop) + +#if defined(GB_SYSTEM_WINDOWS) + #pragma warning(pop) +#endif gb_internal bool rune_is_letter(Rune r) { @@ -109,7 +114,7 @@ gb_internal isize utf8_decode(u8 const *str, isize str_len, Rune *codepoint_out) u8 b1, b2, b3; Utf8AcceptRange accept; if (x >= 0xf0) { - Rune mask = (cast(Rune)x << 31) >> 31; + Rune mask = -cast(Rune)(x & 1); codepoint = (cast(Rune)s0 & (~mask)) | (GB_RUNE_INVALID & mask); width = 1; goto end; |