Use warning code in xkeyboard-config test
[platform/upstream/libxkbcommon.git] / src / keymap-priv.c
index d21dda7..8fdaf5b 100644 (file)
@@ -24,6 +24,8 @@
  * Author: Daniel Stone <daniel@fooishbar.org>
  */
 
+#include "config.h"
+
 #include "keymap.h"
 
 static void
@@ -118,7 +120,8 @@ XkbEscapeMapName(char *name)
         return;
 
     while (*name) {
-        if (!(legal[*name / 8] & (1 << (*name % 8))))
+        unsigned char c = *name;
+        if (!(legal[c / 8] & (1 << (c % 8))))
             *name = '_';
         name++;
     }
@@ -137,3 +140,13 @@ XkbModNameToIndex(const struct xkb_mod_set *mods, xkb_atom_t name,
 
     return XKB_MOD_INVALID;
 }
+
+bool
+XkbLevelsSameSyms(const struct xkb_level *a, const struct xkb_level *b)
+{
+    if (a->num_syms != b->num_syms)
+        return false;
+    if (a->num_syms <= 1)
+        return a->u.sym == b->u.sym;
+    return memcmp(a->u.syms, b->u.syms, sizeof(*a->u.syms) * a->num_syms) == 0;
+}