&& (warningLevel > 0)) || (warningLevel > 9))
{
WARN("Multiple definitions of the %s key type\n",
- XkbcAtomGetString(new->name));
+ XkbcAtomText(new->name));
ACTION("Earlier definition ignored\n");
}
FreeKeyTypeInfo(old);
if (report)
{
WARN("Multiple definitions of the %s key type\n",
- XkbcAtomGetString(new->name));
+ XkbcAtomText(new->name));
ACTION("Later definition ignored\n");
}
FreeKeyTypeInfo(new);
{
ExprResult rtrn;
unsigned level;
+ Atom level_name;
if (arrayNdx == NULL)
return ReportTypeShouldBeArray(type, "level name");
ACTION("Ignoring illegal level name definition\n");
return False;
}
- return
- AddLevelName(type, level, XkbcInternAtom(rtrn.str, False), True,
- True);
+ level_name = XkbcInternAtom(rtrn.str, False);
+ free(rtrn.str);
+ return AddLevelName(type, level, level_name, True, True);
}
/***====================================================================***/
ERROR("Illegal group index for type of key %s\n",
longText(key->name));
ACTION("Definition with non-integer array index ignored\n");
+ free(tmp.str);
return False;
}
else if ((ndx.uval < 1) || (ndx.uval > XkbNumKbdGroups))
("Group index for type of key %s is out of range (1..%d)\n",
longText(key->name), XkbNumKbdGroups + 1);
ACTION("Ignoring type for group %d\n", ndx.uval);
+ free(tmp.str);
return False;
}
else
key->types[ndx.uval - 1] = XkbcInternAtom(tmp.str, False);
key->typesDefined |= (1 << (ndx.uval - 1));
}
+ free(tmp.str);
}
else if (uStrCaseCmp(field, "symbols") == 0)
return AddSymbolsToKey(key, xkb, field, arrayNdx, value, info);
{
ExprResult elem, field, tmp;
ExprDef *arrayNdx;
+ Bool ret;
if (ExprResolveLhs(stmt->name, &elem, &field, &arrayNdx) == 0)
return 0; /* internal error, already reported */
if (elem.str && (uStrCaseCmp(elem.str, "key") == 0))
{
- return SetSymbolsField(&info->dflt, xkb, field.str, arrayNdx,
- stmt->value, info);
+ ret = SetSymbolsField(&info->dflt, xkb, field.str, arrayNdx,
+ stmt->value, info);
}
else if ((elem.str == NULL) && ((uStrCaseCmp(field.str, "name") == 0) ||
(uStrCaseCmp(field.str, "groupname") ==
0)))
{
- return SetGroupName(info, arrayNdx, stmt->value);
+ ret = SetGroupName(info, arrayNdx, stmt->value);
}
else if ((elem.str == NULL)
&& ((uStrCaseCmp(field.str, "groupswrap") == 0)
{
ERROR("Illegal setting for global groupsWrap\n");
ACTION("Non-boolean value ignored\n");
- return False;
+ ret = False;
+ }
+ else {
+ if (tmp.uval)
+ info->groupInfo = XkbWrapIntoRange;
+ else
+ info->groupInfo = XkbClampIntoRange;
+ ret = True;
}
- if (tmp.uval)
- info->groupInfo = XkbWrapIntoRange;
- else
- info->groupInfo = XkbClampIntoRange;
- return True;
}
else if ((elem.str == NULL)
&& ((uStrCaseCmp(field.str, "groupsclamp") == 0)
ACTION("Non-boolean value ignored\n");
return False;
}
- if (tmp.uval)
- info->groupInfo = XkbClampIntoRange;
- else
- info->groupInfo = XkbWrapIntoRange;
- return True;
+ else {
+ if (tmp.uval)
+ info->groupInfo = XkbClampIntoRange;
+ else
+ info->groupInfo = XkbWrapIntoRange;
+ ret = True;
+ }
}
else if ((elem.str == NULL)
&& ((uStrCaseCmp(field.str, "groupsredirect") == 0)
{
ERROR("Illegal group index for global groupsRedirect\n");
ACTION("Definition with non-integer group ignored\n");
- return False;
+ ret = False;
}
- if ((tmp.uval < 1) || (tmp.uval > XkbNumKbdGroups))
- {
- ERROR
- ("Out-of-range (1..%d) group for global groupsRedirect\n",
- XkbNumKbdGroups);
- ACTION("Ignoring illegal group %d\n", tmp.uval);
- return False;
+ else {
+ if ((tmp.uval < 1) || (tmp.uval > XkbNumKbdGroups))
+ {
+ ERROR
+ ("Out-of-range (1..%d) group for global groupsRedirect\n",
+ XkbNumKbdGroups);
+ ACTION("Ignoring illegal group %d\n", tmp.uval);
+ ret = False;
+ }
+ else {
+ info->groupInfo = XkbSetGroupInfo(0, XkbRedirectIntoRange,
+ tmp.uval);
+ ret = True;
+ }
}
- info->groupInfo = XkbSetGroupInfo(0, XkbRedirectIntoRange, tmp.uval);
- return True;
}
else if ((elem.str == NULL) && (uStrCaseCmp(field.str, "allownone") == 0))
{
- return SetAllowNone(&info->dflt, arrayNdx, stmt->value);
+ ret = SetAllowNone(&info->dflt, arrayNdx, stmt->value);
}
- return SetActionField(xkb, elem.str, field.str, arrayNdx, stmt->value,
- &info->action);
+ else {
+ ret = SetActionField(xkb, elem.str, field.str, arrayNdx, stmt->value,
+ &info->action);
+ }
+
+ free(elem.str);
+ free(field.str);
+ return ret;
}
static Bool