diff options
author | Ran Benita <ran234@gmail.com> | 2014-02-08 17:58:39 +0200 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2014-02-08 17:58:39 +0200 |
commit | 3d56aa3e605aae00f7988cd4483af862a155dc52 (patch) | |
tree | 89ddda68c4fb9dbf4d81dad93147773f6a1b69c5 /src/keysym.c | |
parent | 68b03097920e90c7d2d02816cf9f7be714c6821f (diff) | |
download | xorg-lib-libxkbcommon-3d56aa3e605aae00f7988cd4483af862a155dc52.tar.gz |
keysym: use safe keysym comparison function
Instead of thinking about signed <-> unsigned an whatnot.
bsearch() is inline in glibc, so gcc optimizes this away anyway.
Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/keysym.c')
-rw-r--r-- | src/keysym.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/keysym.c b/src/keysym.c index f52d751..e8fa5e1 100644 --- a/src/keysym.c +++ b/src/keysym.c @@ -64,7 +64,11 @@ compare_by_keysym(const void *a, const void *b) { const xkb_keysym_t *key = a; const struct name_keysym *entry = b; - return *key - (int32_t) entry->keysym; + if (*key < entry->keysym) + return -1; + if (*key > entry->keysym) + return 1; + return 0; } static int |