diff options
author | Ran Benita <ran234@gmail.com> | 2012-10-23 09:58:11 +0200 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2012-10-23 17:22:13 +0200 |
commit | f76859bc87a0d499ec25f04ef95867e97bec74c3 (patch) | |
tree | 61a9768ed06fd5f8c70ab483fff411164b4a9153 /src/keymap.c | |
parent | 867992cd21baf49a542db1193ac0e01362b05e3f (diff) | |
download | xorg-lib-libxkbcommon-f76859bc87a0d499ec25f04ef95867e97bec74c3.tar.gz |
keymap: use plain array for keymap->group_names
Again it is not resized.
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keymap.c')
-rw-r--r-- | src/keymap.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/keymap.c b/src/keymap.c index 63e9853..6736c2c 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -108,7 +108,7 @@ xkb_keymap_unref(struct xkb_keymap *keymap) free(keymap->types); darray_free(keymap->sym_interprets); darray_free(keymap->key_aliases); - darray_free(keymap->group_names); + free(keymap->group_names); darray_free(keymap->mods); darray_free(keymap->indicators); free(keymap->keycodes_section_name); @@ -176,11 +176,10 @@ xkb_keymap_num_layouts(struct xkb_keymap *keymap) XKB_EXPORT const char * xkb_keymap_layout_get_name(struct xkb_keymap *keymap, xkb_layout_index_t idx) { - if (idx >= xkb_keymap_num_layouts(keymap) || - idx >= darray_size(keymap->group_names)) + if (idx >= keymap->num_group_names) return NULL; - return xkb_atom_text(keymap->ctx, darray_item(keymap->group_names, idx)); + return xkb_atom_text(keymap->ctx, keymap->group_names[idx]); } /** @@ -190,14 +189,13 @@ XKB_EXPORT xkb_layout_index_t xkb_keymap_layout_get_index(struct xkb_keymap *keymap, const char *name) { xkb_atom_t atom = xkb_atom_lookup(keymap->ctx, name); - xkb_atom_t *group_name; xkb_layout_index_t i; if (atom == XKB_ATOM_NONE) return XKB_LAYOUT_INVALID; - darray_enumerate(i, group_name, keymap->group_names) - if (*group_name == atom) + for (i = 0; i < keymap->num_group_names; i++) + if (keymap->group_names[i] == atom) return i; return XKB_LAYOUT_INVALID; |