keymap: move ModNameToIndex from text.c and use it in keymap.c
[platform/upstream/libxkbcommon.git] / src / xkbcomp / expr.c
index ba71208..4c31205 100644 (file)
@@ -112,11 +112,11 @@ LookupModMask(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
         return true;
     }
 
-    ndx = ModNameToIndex(keymap, field, mod_type);
+    ndx = XkbModNameToIndex(keymap, field, mod_type);
     if (ndx == XKB_MOD_INVALID)
         return false;
 
-    *val_rtrn = (1 << ndx);
+    *val_rtrn = (1u << ndx);
     return true;
 }
 
@@ -337,7 +337,9 @@ ExprResolveIntegerLookup(struct xkb_context *ctx, const ExprDef *expr,
             *val_rtrn = l / r;
             break;
         default:
-            break;
+            log_err(ctx, "%s of integers not permitted\n",
+                    expr_op_type_to_string(expr->expr.op));
+            return false;
         }
 
         return true;
@@ -427,14 +429,8 @@ ExprResolveLevel(struct xkb_context *ctx, const ExprDef *expr,
 bool
 ExprResolveButton(struct xkb_context *ctx, const ExprDef *expr, int *btn_rtrn)
 {
-    int result;
-
-    if (!ExprResolveIntegerLookup(ctx, expr, &result, SimpleLookup,
-                                  buttonNames))
-        return false;
-
-    *btn_rtrn = result;
-    return true;
+    return ExprResolveIntegerLookup(ctx, expr, btn_rtrn, SimpleLookup,
+                                    buttonNames);
 }
 
 bool
@@ -669,7 +665,7 @@ ExprResolveMod(struct xkb_keymap *keymap, const ExprDef *def,
     }
 
     name = def->ident.ident;
-    ndx = ModNameToIndex(keymap, name, mod_type);
+    ndx = XkbModNameToIndex(keymap, name, mod_type);
     if (ndx == XKB_MOD_INVALID) {
         log_err(keymap->ctx,
                 "Cannot resolve virtual modifier: "