darray_free(into->map);
free(into->preserve);
for (i = 0; i < into->num_levels; i++)
- free(UNCONSTIFY(into->level_names[i]));
+ free(into->level_names[i]);
free(into->level_names);
*into = *from;
darray_size(into->map) * sizeof(*into->preserve));
}
- if (from->level_names && (into->num_levels > 0)) {
- into->level_names = uTypedCalloc(into->num_levels, const char *);
+ if (from->level_names && into->num_levels > 0) {
+ into->level_names = calloc(into->num_levels,
+ sizeof(*into->level_names));
if (!into->level_names)
return BadAlloc;
+
for (i = 0; i < into->num_levels; i++)
into->level_names[i] = strdup(from->level_names[i]);
}
darray_free(type->map);
free(type->preserve);
for (j = 0; j < type->num_levels; j++)
- free(UNCONSTIFY(type->level_names[j]));
+ free(type->level_names[j]);
free(type->level_names);
- free(UNCONSTIFY(type->name));
+ free(type->name);
}
darray_free(map->types);
darray_foreach(type, keymap->map->types) {
if (!type->level_names) {
- type->level_names = uTypedCalloc(type->num_levels, const char *);
+ type->level_names = calloc(type->num_levels,
+ sizeof(*type->level_names));
if (!type->level_names)
return BadAlloc;
}
darray_foreach(type, map->types) {
int j;
for (j = 0; j < type->num_levels; j++)
- free(UNCONSTIFY(type->level_names[j]));
+ free(type->level_names[j]);
free(type->level_names);
type->level_names = NULL;
}
}
for (i = 0; i < XkbNumVirtualMods; i++)
- free(UNCONSTIFY(names->vmods[i]));
+ free(names->vmods[i]);
for (i = 0; i < XkbNumIndicators; i++)
- free(UNCONSTIFY(names->indicators[i]));
+ free(names->indicators[i]);
for (i = 0; i < XkbNumKbdGroups; i++)
- free(UNCONSTIFY(names->groups[i]));
+ free(names->groups[i]);
darray_free(names->keys);
darray_free(names->key_aliases);
uint16_t num_levels;
darray(struct xkb_kt_map_entry) map;
struct xkb_mods * preserve;
- const char *name;
- const char **level_names;
+ char *name;
+ char **level_names;
};
struct xkb_sym_interpret {
};
struct xkb_names {
- const char *vmods[XkbNumVirtualMods];
- const char *indicators[XkbNumIndicators];
- const char *groups[XkbNumKbdGroups];
+ char *vmods[XkbNumVirtualMods];
+ char *indicators[XkbNumIndicators];
+ char *groups[XkbNumKbdGroups];
darray(struct xkb_key_name) keys;
darray(struct xkb_key_alias) key_aliases;
#define XkbKeycodeInRange(d, k) \
(((k) >= (d)->min_key_code) && ((k) <= (d)->max_key_code))
-#define XkbNumKeys(d) \
- ((d)->max_key_code - (d)->min_key_code + 1)
struct xkb_state {
xkb_group_index_t base_group; /**< depressed */
im->ctrls = led->ctrls;
if (keymap->names != NULL)
{
- free(UNCONSTIFY(keymap->names->indicators[led->indicator - 1]));
+ free(keymap->names->indicators[led->indicator - 1]);
keymap->names->indicators[led->indicator-1] =
xkb_atom_strdup(keymap->ctx, led->name);
}
}
for (ii = info.leds; ii; ii = (IndicatorNameInfo *)ii->defs.next) {
- free(UNCONSTIFY(keymap->names->indicators[ii->ndx - 1]));
+ free(keymap->names->indicators[ii->ndx - 1]);
keymap->names->indicators[ii->ndx - 1] =
xkb_atom_strdup(keymap->ctx, ii->name);
}
type->name = xkb_atom_strdup(keymap->ctx, def->name);
if (!darray_empty(def->lvlNames)) {
- type->level_names = uTypedCalloc(darray_size(def->lvlNames),
- const char *);
+ type->level_names = calloc(darray_size(def->lvlNames),
+ sizeof(*type->level_names));
/* assert def->szNames<=def->numLevels */
for (i = 0; i < darray_size(def->lvlNames); i++)
for (i = 0; i < XkbNumKbdGroups; i++) {
if (info.groupNames[i] != XKB_ATOM_NONE) {
- free(UNCONSTIFY(keymap->names->groups[i]));
+ free(keymap->names->groups[i]);
keymap->names->groups[i] = xkb_atom_strdup(keymap->ctx,
info.groupNames[i]);
}