Fix incorrect comparison ExprFieldRef goes into the ExprDef op field, not the type field. Signed-off-by: Ran Benita <ran234@gmail.com>
diff --git a/src/xkbcomp/compat.c b/src/xkbcomp/compat.c
index b4fa5b6..de0377b 100644
--- a/src/xkbcomp/compat.c
+++ b/src/xkbcomp/compat.c
@@ -899,7 +899,7 @@ HandleInterpBody(CompatInfo *info, VarDef *def, SymInterpInfo *si)
ExprDef *arrayNdx;
for (; def != NULL; def = (VarDef *) def->common.next) {
- if ((def->name) && (def->name->type == ExprFieldRef)) {
+ if ((def->name) && (def->name->op == ExprFieldRef)) {
ok = HandleInterpVar(info, def);
continue;
}
diff --git a/src/xkbcomp/keytypes.c b/src/xkbcomp/keytypes.c
index 26bcfaa..67dc9a0 100644
--- a/src/xkbcomp/keytypes.c
+++ b/src/xkbcomp/keytypes.c
@@ -782,7 +782,7 @@ HandleKeyTypeBody(KeyTypesInfo *info, VarDef *def, KeyTypeInfo *type)
ExprDef *arrayNdx;
for (; def != NULL; def = (VarDef *) def->common.next) {
- if ((def->name) && (def->name->type == ExprFieldRef)) {
+ if ((def->name) && (def->name->op == ExprFieldRef)) {
ok = HandleKeyTypeVar(info, def);
continue;
}