summaryrefslogtreecommitdiff
path: root/src/keymap.c
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2012-10-23 09:58:11 +0200
committerRan Benita <ran234@gmail.com>2012-10-23 17:22:13 +0200
commitf76859bc87a0d499ec25f04ef95867e97bec74c3 (patch)
tree61a9768ed06fd5f8c70ab483fff411164b4a9153 /src/keymap.c
parent867992cd21baf49a542db1193ac0e01362b05e3f (diff)
downloadxorg-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.c12
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;