Skip to content

Commit

Permalink
rules: Ensure same number of layouts and variants
Browse files Browse the repository at this point in the history
  • Loading branch information
wismill committed Sep 25, 2024
1 parent 88ae235 commit 93244b1
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/xkbcomp/rules.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,23 @@ matcher_new(struct xkb_context *ctx,
m->rmlvo.variants = split_comma_separated_mlvo(rmlvo->variant);
m->rmlvo.options = split_comma_separated_mlvo(rmlvo->options);

if (darray_size(m->rmlvo.layouts) > darray_size(m->rmlvo.variants)) {
/* Do not warn if no variants was provided */
if (!isempty(rmlvo->variant))
log_warn(ctx, XKB_LOG_MESSAGE_NO_ID,
"More layouts than variants: \"%s\" vs. \"%s\".\n",
rmlvo->layout ? rmlvo->layout : "(none)",
rmlvo->variant ? rmlvo->variant : "(none)");
darray_resize0(m->rmlvo.variants, darray_size(m->rmlvo.layouts));
} else if (darray_size(m->rmlvo.layouts) < darray_size(m->rmlvo.variants)) {
log_err(ctx, XKB_LOG_MESSAGE_NO_ID,
"Less layouts than variants: \"%s\" vs. \"%s\".\n",
rmlvo->layout ? rmlvo->layout : "(none)",
rmlvo->variant ? rmlvo->variant : "(none)");
darray_resize(m->rmlvo.variants, darray_size(m->rmlvo.layouts));
darray_shrink(m->rmlvo.variants);
}

return m;
}

Expand Down

0 comments on commit 93244b1

Please sign in to comment.