summaryrefslogtreecommitdiff
path: root/src/compose/table.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compose/table.h')
-rw-r--r--src/compose/table.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/compose/table.h b/src/compose/table.h
index 6be4348..825a8e2 100644
--- a/src/compose/table.h
+++ b/src/compose/table.h
@@ -75,16 +75,17 @@
* \0 is so offset 0 points to an empty string).
*/
-/* Fits in uint16_t, also a good idea to have some limit. */
-#define MAX_COMPOSE_NODES 65535
+/* 7 nodes for every potential Unicode character and then some should be
+ * enough for all purposes. */
+#define MAX_COMPOSE_NODES (1 << 23)
struct compose_node {
xkb_keysym_t keysym;
/* Offset into xkb_compose_table::nodes or 0. */
- uint16_t lokid;
+ uint32_t lokid;
/* Offset into xkb_compose_table::nodes or 0. */
- uint16_t hikid;
+ uint32_t hikid;
union {
struct {
@@ -95,7 +96,7 @@ struct compose_node {
uint32_t _pad:31;
bool is_leaf:1;
/* Offset into xkb_compose_table::nodes or 0. */
- uint16_t eqkid;
+ uint32_t eqkid;
} internal;
struct {
/* Offset into xkb_compose_table::utf8. */