diff options
author | Ran Benita <ran234@gmail.com> | 2014-04-22 13:15:21 +0300 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2014-04-22 14:58:42 +0300 |
commit | 9014cf8cd850b8685571590fe060a8a4239c03e8 (patch) | |
tree | 367907ffaa5397df3c4c2e9b1483eaf2d50a7f86 /src/keymap.h | |
parent | 787faf36654ed75672613c560286caddadce3ec5 (diff) | |
download | xorg-lib-libxkbcommon-9014cf8cd850b8685571590fe060a8a4239c03e8.tar.gz |
keymap, keycodes, compat: don't use darray for LEDs
Use a static array of size XKB_MAX_LEDS instead, as in xkb_mod_set.
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keymap.h')
-rw-r--r-- | src/keymap.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/keymap.h b/src/keymap.h index 91f271a..d56c2c4 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -390,7 +390,8 @@ struct xkb_keymap { xkb_layout_index_t num_group_names; xkb_atom_t *group_names; - darray(struct xkb_led) leds; + struct xkb_led leds[XKB_MAX_LEDS]; + unsigned int num_leds; char *keycodes_section_name; char *symbols_section_name; @@ -413,6 +414,16 @@ struct xkb_keymap { (idx) < (mods_)->num_mods; \ (idx)++, (iter)++) +#define xkb_leds_foreach(iter, keymap) \ + for ((iter) = (keymap)->leds; \ + (iter) < (keymap)->leds + (keymap)->num_leds; \ + (iter)++) + +#define xkb_leds_enumerate(idx, iter, keymap) \ + for ((idx) = 0, (iter) = (keymap)->leds; \ + (idx) < (keymap)->num_leds; \ + (idx)++, (iter)++) + static inline const struct xkb_key * XkbKey(struct xkb_keymap *keymap, xkb_keycode_t kc) { |