Just a dumb wrapper around ExprResolveInteger.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
return ReportIllegal(action->type, field);
}
return ReportIllegal(action->type, field);
}
-static LookupEntry groupNames[] = {
- {"group1", 1},
- {"group2", 2},
- {"group3", 3},
- {"group4", 4},
- {"group5", 5},
- {"group6", 6},
- {"group7", 7},
- {"group8", 8},
- {NULL, 0},
-};
-
static Bool
CheckGroupField(unsigned action,
ExprDef * value, unsigned *flags_inout, int *grp_rtrn)
static Bool
CheckGroupField(unsigned action,
ExprDef * value, unsigned *flags_inout, int *grp_rtrn)
- if (!ExprResolveInteger(spec, &rtrn, SimpleLookup, (char *) groupNames))
+ if (!ExprResolveGroup(spec, &rtrn))
return ReportMismatch(action, F_Group, "integer (range 1..8)");
if ((rtrn.ival < 1) || (rtrn.ival > XkbNumKbdGroups))
{
return ReportMismatch(action, F_Group, "integer (range 1..8)");
if ((rtrn.ival < 1) || (rtrn.ival > XkbNumKbdGroups))
{
+ExprResolveGroup(ExprDef * expr,
+ ExprResult * val_rtrn)
+{
+ static LookupEntry group_names[] = {
+ { "group1", 1 },
+ { "group2", 2 },
+ { "group3", 3 },
+ { "group4", 4 },
+ { "group5", 5 },
+ { "group6", 6 },
+ { "group7", 7 },
+ { "group8", 8 },
+ { NULL, 0 }
+ };
+
+ return ExprResolveInteger(expr, val_rtrn, SimpleLookup,
+ (char *) group_names);
+}
+
+int
ExprResolveLevel(ExprDef * expr,
ExprResult * val_rtrn)
{
ExprResolveLevel(ExprDef * expr,
ExprResult * val_rtrn)
{
ExprResult * /* val_rtrn */
);
ExprResult * /* val_rtrn */
);
+extern int ExprResolveGroup(ExprDef * /* expr */ ,
+ ExprResult * /* val_rtrn */
+ );
+
extern int ExprResolveButton(ExprDef * /* expr */ ,
ExprResult * /* val_rtrn */
);
extern int ExprResolveButton(ExprDef * /* expr */ ,
ExprResult * /* val_rtrn */
);
return (info->errorCount == 0);
}
return (info->errorCount == 0);
}
-static LookupEntry groupNames[] = {
- {"group1", 1},
- {"group2", 2},
- {"group3", 3},
- {"group4", 4},
- {"group5", 5},
- {"group6", 6},
- {"group7", 7},
- {"group8", 8},
- {NULL, 0}
-};
-
-
#define SYMBOLS 1
#define ACTIONS 2
#define SYMBOLS 1
#define ACTIONS 2
ACTION("Ignoring %s defined for extra groups\n", name);
return False;
}
ACTION("Ignoring %s defined for extra groups\n", name);
return False;
}
- if (!ExprResolveInteger
- (arrayNdx, &tmp, SimpleLookup, (char *) groupNames))
+ if (!ExprResolveGroup(arrayNdx, &tmp))
{
ERROR("Illegal group index for %s of key %s\n", name,
longText(key->name));
{
ERROR("Illegal group index for %s of key %s\n", name,
longText(key->name));
key->dfltType = xkb_intern_atom(tmp.str);
key->defs.defined |= _Key_Type_Dflt;
}
key->dfltType = xkb_intern_atom(tmp.str);
key->defs.defined |= _Key_Type_Dflt;
}
- else if (!ExprResolveInteger(arrayNdx, &ndx, SimpleLookup,
- (char *) groupNames))
+ else if (!ExprResolveGroup(arrayNdx, &ndx))
{
ERROR("Illegal group index for type of key %s\n",
longText(key->name));
{
ERROR("Illegal group index for type of key %s\n",
longText(key->name));
else if ((uStrCaseCmp(field, "groupsredirect") == 0) ||
(uStrCaseCmp(field, "redirectgroups") == 0))
{
else if ((uStrCaseCmp(field, "groupsredirect") == 0) ||
(uStrCaseCmp(field, "redirectgroups") == 0))
{
- if (!ExprResolveInteger
- (value, &tmp, SimpleLookup, (char *) groupNames))
+ if (!ExprResolveGroup(value, &tmp))
{
ERROR("Illegal group index for redirect of key %s\n",
longText(key->name));
{
ERROR("Illegal group index for redirect of key %s\n",
longText(key->name));
ACTION("Group name definition without array subscript ignored\n");
return False;
}
ACTION("Group name definition without array subscript ignored\n");
return False;
}
- if (!ExprResolveInteger
- (arrayNdx, &tmp, SimpleLookup, (char *) groupNames))
+ if (!ExprResolveGroup(arrayNdx, &tmp))
{
ERROR("Illegal index in group name definition\n");
ACTION("Definition with non-integer array index ignored\n");
{
ERROR("Illegal index in group name definition\n");
ACTION("Definition with non-integer array index ignored\n");
&& ((uStrCaseCmp(field.str, "groupsredirect") == 0)
|| (uStrCaseCmp(field.str, "redirectgroups") == 0)))
{
&& ((uStrCaseCmp(field.str, "groupsredirect") == 0)
|| (uStrCaseCmp(field.str, "redirectgroups") == 0)))
{
- if (!ExprResolveInteger(stmt->value, &tmp,
- SimpleLookup, (char *) groupNames))
+ if (!ExprResolveGroup(stmt->value, &tmp))
{
ERROR("Illegal group index for global groupsRedirect\n");
ACTION("Definition with non-integer group ignored\n");
{
ERROR("Illegal group index for global groupsRedirect\n");
ACTION("Definition with non-integer group ignored\n");