diff options
author | Ran Benita <ran234@gmail.com> | 2013-03-04 12:27:06 +0200 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2013-03-18 22:20:05 +0000 |
commit | f8d3ec9f6fcfea682ca6383fda88c6a00b0c9c41 (patch) | |
tree | 4edc2716d3dbe30e37aed148a1e7171e159e0d3f /src/keymap.c | |
parent | ea3cf26db5c6b71a7e3cb755c03db6757fd6634f (diff) | |
download | xorg-lib-libxkbcommon-f8d3ec9f6fcfea682ca6383fda88c6a00b0c9c41.tar.gz |
keymap: don't use darray for key aliases
With a little tweak to the copy-to-keymap routine in keycodes.c we can
use a normal array.
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keymap.c')
-rw-r--r-- | src/keymap.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/keymap.c b/src/keymap.c index 758a35b..480a4ce 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -107,7 +107,7 @@ xkb_keymap_unref(struct xkb_keymap *keymap) } free(keymap->types); darray_free(keymap->sym_interprets); - darray_free(keymap->key_aliases); + free(keymap->key_aliases); free(keymap->group_names); darray_free(keymap->mods); darray_free(keymap->leds); @@ -499,11 +499,9 @@ XkbKeyByName(struct xkb_keymap *keymap, xkb_atom_t name, bool use_aliases) xkb_atom_t XkbResolveKeyAlias(struct xkb_keymap *keymap, xkb_atom_t name) { - const struct xkb_key_alias *alias; - - darray_foreach(alias, keymap->key_aliases) - if (name == alias->alias) - return alias->real; + for (unsigned i = 0; i < keymap->num_key_aliases; i++) + if (keymap->key_aliases[i].alias == name) + return keymap->key_aliases[i].real; return XKB_ATOM_NONE; } |