diff options
author | Ran Benita <ran234@gmail.com> | 2012-10-10 17:51:06 +0200 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2012-10-10 17:51:06 +0200 |
commit | f3732d8349556e8615cb704fa9643712e954fee6 (patch) | |
tree | bd0a191ceca09c5fc5ca04059811a2a0d41ad0e1 /src/keymap.h | |
parent | bdea377c9319dd8e5a385dd45d9fbd2b28ceaf36 (diff) | |
download | xorg-lib-libxkbcommon-f3732d8349556e8615cb704fa9643712e954fee6.tar.gz |
keymap: don't use darray for keymap->keys
It's never resized.
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keymap.h')
-rw-r--r-- | src/keymap.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/keymap.h b/src/keymap.h index 5bc2a13..74efe78 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -382,8 +382,7 @@ struct xkb_keymap { xkb_keycode_t min_key_code; xkb_keycode_t max_key_code; - - darray(struct xkb_key) keys; + struct xkb_key *keys; /* aliases in no particular order */ darray(struct xkb_key_alias) key_aliases; @@ -412,11 +411,13 @@ XkbKey(struct xkb_keymap *keymap, xkb_keycode_t kc) { if (kc < keymap->min_key_code || kc > keymap->max_key_code) return NULL; - return &darray_item(keymap->keys, kc); + return &keymap->keys[kc]; } #define xkb_foreach_key(iter, keymap) \ - darray_foreach(iter, keymap->keys) + for (iter = keymap->keys + keymap->min_key_code; \ + iter <= keymap->keys + keymap->max_key_code; \ + iter++) static inline xkb_level_index_t XkbKeyGroupWidth(const struct xkb_key *key, xkb_layout_index_t layout) |