[cairo] [PATCH] test and util: maintain consistency in the usage of ARRAY_LENGTH macro

Ravi Nanjundappa nravi.n at samsung.com
Tue Apr 22 20:02:19 PDT 2014


ARRAY_LENGTH macro is used in perf's cairo-perf.h, src's cairoint.h,
test's cairo-test.h and in some internal header files of util's
directory.So to maintain consistency ARRAY_SIZE is replaced with
ARRAY_LENGTH macro.

Signed-off-by: Ravi Nanjundappa <nravi.n at samsung.com>
---
 test/cairo-test.c        |   12 ++++++------
 util/cairo-trace/trace.c |    7 ++++---
 util/malloc-stats.c      |    9 +++++----
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/test/cairo-test.c b/test/cairo-test.c
index 119506d..8dbf4c6 100644
--- a/test/cairo-test.c
+++ b/test/cairo-test.c
@@ -83,8 +83,8 @@
 #define TRUE !FALSE
 #endif
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(A) (sizeof(A) / sizeof (A[0]))
+#ifndef ARRAY_LENGTH
+#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
 #endif
 
 #if ! HAVE_ALARM || ! defined(SIGALRM)
@@ -1088,13 +1088,13 @@ REPEAT:
 
 	    if (cairo_test_file_is_older (pass_filename,
 					  filenames,
-					  ARRAY_SIZE (filenames)))
+					  ARRAY_LENGTH (filenames)))
 	    {
 		_xunlink (ctx, pass_filename);
 	    }
 	    if (cairo_test_file_is_older (fail_filename,
 					  filenames,
-					  ARRAY_SIZE (filenames)))
+					  ARRAY_LENGTH (filenames)))
 	    {
 		_xunlink (ctx, fail_filename);
 	    }
@@ -1180,13 +1180,13 @@ REPEAT:
 
 	    if (cairo_test_file_is_older (pass_filename,
 					  filenames,
-					  ARRAY_SIZE (filenames)))
+					  ARRAY_LENGTH (filenames)))
 	    {
 		_xunlink (ctx, pass_filename);
 	    }
 	    if (cairo_test_file_is_older (fail_filename,
 					  filenames,
-					  ARRAY_SIZE (filenames)))
+					  ARRAY_LENGTH (filenames)))
 	    {
 		_xunlink (ctx, fail_filename);
 	    }
diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c
index ebfc81a..d5111d7 100644
--- a/util/cairo-trace/trace.c
+++ b/util/cairo-trace/trace.c
@@ -127,8 +127,9 @@ static void *_dlhandle = RTLD_NEXT;
     (*name##_real) (args);  \
 })
 
-#define ARRAY_SIZE(a) (sizeof (a) / sizeof (a[0]))
-#define ARRAY_LENGTH(a) ((int) ARRAY_SIZE(a))
+#ifndef ARRAY_LENGTH
+#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
+#endif 
 
 #if SIZEOF_VOID_P == 4
 #define PTR_SHIFT 2
@@ -280,7 +281,7 @@ _type_next_token (Type *t)
 
 	if (b->count < sizeof (b->map) * CHAR_BIT) {
 	    unsigned int n, m, bit;
-	    for (n = 0; n < ARRAY_SIZE (b->map); n++) {
+	    for (n = 0; n < ARRAY_LENGTH (b->map); n++) {
 		if (b->map[n] == (unsigned int) -1)
 		    continue;
 
diff --git a/util/malloc-stats.c b/util/malloc-stats.c
index da91656..690efcf 100644
--- a/util/malloc-stats.c
+++ b/util/malloc-stats.c
@@ -60,8 +60,9 @@ static struct alloc_stats_t total_allocations;
 static struct func_stat_t *func_stats[31627];
 static int func_stats_num;
 
-#define ARRAY_SIZE(A) (sizeof (A)/sizeof (A[0]))
-
+#ifndef ARRAY_LENGTH 
+#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
+#endif 
 static void
 alloc_stats_add (struct alloc_stats_t *stats, int is_realloc, size_t size)
 {
@@ -147,7 +148,7 @@ func_stats_add (const void *caller, int is_realloc, size_t size)
 
 	alloc_stats_add (&total_allocations, is_realloc, size);
 
-	i = ((uintptr_t) caller ^ 1215497) % ARRAY_SIZE (func_stats);
+	i = ((uintptr_t) caller ^ 1215497) % ARRAY_LENGTH (func_stats);
 	for (elt = func_stats[i]; elt != NULL; elt = elt->next) {
 		if (elt->addr == caller)
 			break;
@@ -328,7 +329,7 @@ malloc_stats (void)
 		return;
 
 	j = 0;
-	for (i = 0; i < ARRAY_SIZE (func_stats); i++) {
+	for (i = 0; i < ARRAY_LENGTH (func_stats); i++) {
 		struct func_stat_t *elt;
 		for (elt = func_stats[i]; elt != NULL; elt = elt->next)
 			sorted_func_stats[j++] = *elt;
-- 
1.7.9.5



More information about the cairo mailing list