diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-02-13 13:02:28 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-02-13 13:11:47 +0100 |
commit | 79e6af86ca526d5fb56af6f6ca3da713e3a5e9f9 (patch) | |
tree | 752f1c26d1f122dcf58374ac78db109c9578be45 /vendor/librune/include/internal/common.h |
Genesis commit
Diffstat (limited to 'vendor/librune/include/internal/common.h')
-rw-r--r-- | vendor/librune/include/internal/common.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/librune/include/internal/common.h b/vendor/librune/include/internal/common.h new file mode 100644 index 0000000..a05f33c --- /dev/null +++ b/vendor/librune/include/internal/common.h @@ -0,0 +1,29 @@ +#ifndef RUNE_INTERNAL_COMMON_H +#define RUNE_INTERNAL_COMMON_H + +/* IWYU pragma: private */ + +#include <limits.h> + +#define lengthof(a) (sizeof(a) / sizeof(*(a))) + +#define U1(x) (((x)&0x80) == 0x00) +#define U2(x) (((x)&0xE0) == 0xC0) +#define U3(x) (((x)&0xF0) == 0xE0) +#define U4(x) (((x)&0xF8) == 0xF0) +#define UC(x) (((x)&0xC0) == 0x80) + +/* Maximum value of a 1–4-byte long UTF-8 sequence */ +#include "rune.h" +#define _1B_MAX RUNE_C(0x00007F) +#define _2B_MAX RUNE_C(0x0007FF) +#define _3B_MAX RUNE_C(0x00FFFF) +#define _4B_MAX RUNE_C(0x10FFFF) + +#define LATIN1_MAX 0xFF + +#if BITINT_MAXWIDTH >= LATIN1_MAX + 1 +# define BIT_LOOKUP 1 +#endif + +#endif /* !RUNE_INTERNAL_COMMON_H */ |