utils: add and use ARRAY_SIZE macro
authorRan Benita <ran234@gmail.com>
Tue, 16 Oct 2012 19:09:33 +0000 (21:09 +0200)
committerRan Benita <ran234@gmail.com>
Tue, 16 Oct 2012 19:31:25 +0000 (21:31 +0200)
Signed-off-by: Ran Benita <ran234@gmail.com>
src/keysym-utf.c
src/keysym.c
src/utils.h

index b1f6f15..67dbb22 100644 (file)
@@ -874,8 +874,6 @@ bin_search(const struct codepair *table, size_t length, xkb_keysym_t keysym)
     return 0;
 }
 
-#define N_ELEMENTS(x) sizeof(x) / sizeof(x[0])
-
 XKB_EXPORT uint32_t
 xkb_keysym_to_utf32(xkb_keysym_t keysym)
 {
@@ -894,11 +892,11 @@ xkb_keysym_to_utf32(xkb_keysym_t keysym)
         return keysym & 0x00ffffff;
 
     /* search smaller keypad table */
-    retval = bin_search(keysymtab_kp, N_ELEMENTS(keysymtab_kp) - 1, keysym);
+    retval = bin_search(keysymtab_kp, ARRAY_SIZE(keysymtab_kp) - 1, keysym);
 
     /* search main table */
     if (!retval)
-        retval = bin_search(keysymtab, N_ELEMENTS(keysymtab) - 1, keysym);
+        retval = bin_search(keysymtab, ARRAY_SIZE(keysymtab) - 1, keysym);
 
     return retval;
 }
index 4f6285b..f80a1ed 100644 (file)
@@ -79,7 +79,7 @@ xkb_keysym_get_name(xkb_keysym_t ks, char *buffer, size_t size)
     }
 
     entry = bsearch(&search, keysym_to_name,
-                    sizeof(keysym_to_name) / sizeof(*keysym_to_name),
+                    ARRAY_SIZE(keysym_to_name),
                     sizeof(*keysym_to_name),
                     compare_by_keysym);
     if (entry)
@@ -112,7 +112,7 @@ static const struct name_keysym *
 find_sym(const struct name_keysym *entry, const char *name, bool icase)
 {
     const struct name_keysym *iter, *last;
-    size_t len = sizeof(name_to_keysym) / sizeof(*name_to_keysym);
+    size_t len = ARRAY_SIZE(name_to_keysym);
 
     if (!entry)
         return NULL;
@@ -159,7 +159,7 @@ xkb_keysym_from_name(const char *s, enum xkb_keysym_flags flags)
         return XKB_KEY_NoSymbol;
 
     entry = bsearch(&search, name_to_keysym,
-                    sizeof(name_to_keysym) / sizeof(*name_to_keysym),
+                    ARRAY_SIZE(name_to_keysym),
                     sizeof(*name_to_keysym),
                     compare_by_name);
     entry = find_sym(entry, s, icase);
index 55ff61c..b4daadd 100644 (file)
@@ -91,6 +91,8 @@ memdup(const void *mem, size_t nmemb, size_t size)
     return p;
 }
 
+#define ARRAY_SIZE(arr) ((sizeof(arr) / sizeof(*(arr))))
+
 #define MIN(a, b) ((a) < (b) ? (a) : (b))
 #define MIN3(a, b, c) MIN(MIN((a), (b)), (c))
 #define MAX(a, b) ((a) > (b) ? (a) : (b))