The size (i.e. max_keycode) is determined in the keycodes section, which
gets compiled first.
Signed-off-by: Ran Benita <ran234@gmail.com>
}
if (create) {
- darray_resize0(keymap->keys, keymap->max_key_code + 1);
-
/* Find first unused keycode and store our key here */
for (kc = keymap->min_key_code; kc <= keymap->max_key_code; kc++) {
key = XkbKey(keymap, kc);
return true;
}
-static bool
-InitKeymapForSymbols(struct xkb_keymap *keymap)
-{
- size_t nKeys = keymap->max_key_code + 1;
-
- darray_resize0(keymap->keys, nKeys);
-
- darray_resize0(keymap->acts, darray_size(keymap->acts) + 32 + 1);
-
- return true;
-}
-
/**
* Handle the xkb_symbols section of an xkb file.
*
enum merge_mode merge)
{
int i;
- bool ok;
xkb_keycode_t kc;
struct xkb_key *key;
SymbolsInfo info;
if (info.errorCount != 0)
goto err_info;
- ok = InitKeymapForSymbols(keymap);
- if (!ok)
- goto err_info;
+ darray_resize0(keymap->acts, darray_size(keymap->acts) + 32 + 1);
if (info.name)
keymap->symbols_section_name = strdup(info.name);