Revert "xkb: simplify loops in XkbRF_Free()"

This reverts commit a0c1eeea98.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2046>
This commit is contained in:
Alan Coopersmith 2025-07-12 11:47:06 -07:00
parent 376cef6710
commit 239b212c65

View file

@ -971,34 +971,31 @@ XkbRF_LoadRules(FILE * file, XkbRF_RulesPtr rules)
void
XkbRF_Free(XkbRF_RulesPtr rules)
{
int i;
XkbRF_RulePtr rule;
XkbRF_GroupPtr group;
if (!rules)
return;
if (rules->rules) {
XkbRF_RulePtr r = rules->rules;
int num = rules->num_rules;
for (int i = 0; i < num; i++) {
// the typecast on free() is necessary because the pointers are const
free((void *) r[i].model);
free((void *) r[i].layout);
free((void *) r[i].variant);
free((void *) r[i].option);
free((void *) r[i].keycodes);
free((void *) r[i].symbols);
free((void *) r[i].types);
free((void *) r[i].compat);
free((void *) r[i].geometry);
for (i = 0, rule = rules->rules; i < rules->num_rules; i++, rule++) {
free((void *) rule->model);
free((void *) rule->layout);
free((void *) rule->variant);
free((void *) rule->option);
free((void *) rule->keycodes);
free((void *) rule->symbols);
free((void *) rule->types);
free((void *) rule->compat);
free((void *) rule->geometry);
}
free(rules->rules);
}
if (rules->groups) {
XkbRF_GroupPtr g = rules->groups;
int num = rules->num_groups;
for (int i = 0; i < num; i++) {
// the typecast on free() is necessary because the pointers are const
free((void *) g[i].name);
free(g[i].words);
for (i = 0, group = rules->groups; i < rules->num_groups; i++, group++) {
free((void *) group->name);
free(group->words);
}
free(rules->groups);
}