/* syms[group] -> Single array for all the keysyms in the group. */
darray_xkb_keysym_t syms[XkbNumKbdGroups];
- /* sizeSyms[group] -> The size of the syms[group] array. */
- int sizeSyms[XkbNumKbdGroups];
/*
* symsMapIndex[group][level] -> The index from which the syms for
* the level begin in the syms[group] array. Remember each keycode
info->numLevels[i] = 0;
info->types[i] = XKB_ATOM_NONE;
darray_init(info->syms[i]);
- info->sizeSyms[i] = 0;
info->symsMapIndex[i] = NULL;
info->symsMapNumEntries[i] = NULL;
info->acts[i] = NULL;
info->numLevels[i] = 0;
info->types[i] = XKB_ATOM_NONE;
darray_free(info->syms[i]);
- info->sizeSyms[i] = 0;
free(info->symsMapIndex[i]);
info->symsMapIndex[i] = NULL;
free(info->symsMapNumEntries[i]);
old->symsMapIndex[i] = NULL;
old->symsMapNumEntries[i] = NULL;
darray_init(old->syms[i]);
- old->sizeSyms[i] = 0;
old->acts[i] = NULL;
}
}
if (!new->symsMapIndex[i])
{
darray_free(new->syms[i]);
- new->sizeSyms[i] = 0;
new->numLevels[i] = 0;
new->acts[i] = NULL;
return false;
if (!new->symsMapNumEntries[i])
{
darray_free(new->syms[i]);
- new->sizeSyms[i] = 0;
free(new->symsMapIndex[i]);
new->symsMapIndex[i] = NULL;
new->numLevels[i] = 0;
if (!new->acts[i])
{
darray_free(new->syms[i]);
- new->sizeSyms[i] = 0;
free(new->symsMapIndex[i]);
new->symsMapIndex[i] = NULL;
free(new->symsMapNumEntries[i]);
{
int i;
- if (darray_empty(key->syms[group]) || key->sizeSyms[group] < sizeSyms)
- {
+ if (darray_size(key->syms[group]) < sizeSyms)
darray_resize0(key->syms[group], sizeSyms);
- key->sizeSyms[group] = sizeSyms;
- }
+
if (!key->symsMapIndex[group] || key->numLevels[group] < numLevels)
{
key->symsMapIndex[group] = uTypedRealloc(key->symsMapIndex[group],
if (!darray_same(resultSyms, from->syms[group]))
darray_free(from->syms[group]);
darray_init(from->syms[group]);
- from->sizeSyms[group] = 0;
- into->sizeSyms[group] = resultSize;
free(from->symsMapIndex[group]);
from->symsMapIndex[group] = NULL;
free(from->symsMapNumEntries[group]);
{
into->numLevels[i] = from->numLevels[i];
into->syms[i] = from->syms[i];
- into->sizeSyms[i] = from->sizeSyms[i];
into->symsMapIndex[i] = from->symsMapIndex[i];
into->symsMapNumEntries[i] = from->symsMapNumEntries[i];
into->acts[i] = from->acts[i];
into->symsDefined |= (1 << i);
darray_init(from->syms[i]);
- from->sizeSyms[i] = 0;
from->symsMapIndex[i] = NULL;
from->symsMapNumEntries[i] = NULL;
from->acts[i] = NULL;
longText(key->name));
return false;
}
- if (key->sizeSyms[ndx] != 0)
+ if (!darray_empty(key->syms[ndx]))
{
ERROR("Symbols for key %s, group %d already defined\n",
longText(key->name), ndx + 1);
key->numLevels[0] = 0;
key->syms[group] = key->syms[0];
darray_init(key->syms[0]);
- key->sizeSyms[group] = key->sizeSyms[0];
- key->sizeSyms[0] = 0;
key->symsMapIndex[group] = key->symsMapIndex[0];
key->symsMapIndex[0] = NULL;
key->symsMapNumEntries[group] = key->symsMapNumEntries[0];
width * sizeof(union xkb_action));
key->actsDefined |= 1 << i;
}
- if ((key->symsDefined & 1) && key->sizeSyms[0])
+ if ((key->symsDefined & 1) && !darray_empty(key->syms[0]))
{
darray_copy(key->syms[i], key->syms[0]);
key->symsMapIndex[i] = uTypedCalloc(width, int);
}
memcpy(key->symsMapNumEntries[i], key->symsMapNumEntries[0],
width * sizeof(int));
- key->sizeSyms[i] = key->sizeSyms[0];
key->symsDefined |= 1 << i;
}
if (defined & 1)
}
if (!darray_same(key->syms[i], key->syms[0]) &&
(darray_empty(key->syms[i]) || darray_empty(key->syms[0]) ||
- key->sizeSyms[i] != key->sizeSyms[0] ||
+ darray_size(key->syms[i]) != darray_size(key->syms[0]) ||
memcmp(darray_mem(key->syms[i], 0),
darray_mem(key->syms[0], 0),
- sizeof(xkb_keysym_t) * key->sizeSyms[0])))
+ sizeof(xkb_keysym_t) * darray_size(key->syms[0]))))
{
identical = false;
break;
{
key->numLevels[i] = 0;
darray_free(key->syms[i]);
- key->sizeSyms[i] = 0;
free(key->symsMapIndex[i]);
key->symsMapIndex[i] = NULL;
free(key->symsMapNumEntries[i]);
width = key->numLevels[i];
if (type->num_levels > width)
width = type->num_levels;
- sizeSyms += key->sizeSyms[i];
+ sizeSyms += darray_size(key->syms[i]);
}
if (!XkbcResizeKeySyms(keymap, kc, sizeSyms))
*/
if (key->numLevels[i])
sym_map->kt_index[i] = types[i];
- if (key->sizeSyms[i] != 0)
+ if (!darray_empty(key->syms[i]))
{
/* fill key to "width" symbols*/
for (tmp = 0; tmp < width; tmp++)