Thread (1 message) 1 message, 1 author, 2019-10-12

Re: [PATCH v2] utf8: use ARRAY_SIZE() in git_wcwidth()

From: Junio C Hamano <hidden>
Date: 2019-10-12 01:57:27

Beat Bolli [off-list ref] writes:
quoted hunk
diff --git a/utf8.c b/utf8.c
index 3b42fadffd..5c8f151f75 100644
--- a/utf8.c
+++ b/utf8.c
@@ -95,13 +95,11 @@ static int git_wcwidth(ucs_char_t ch)
 		return -1;
 
 	/* binary search in table of non-spacing characters */
-	if (bisearch(ch, zero_width, sizeof(zero_width)
-				/ sizeof(struct interval) - 1))
+	if (bisearch(ch, zero_width, ARRAY_SIZE(zero_width) - 1))
I wondered if we want a wrapper similar to QSORT() macro so that we
do not have to repeat zero_width (and double_width below) like this,
but bisearch() itself is local to this file and there are only these
two callers, so it probably is not worth it.

The original is waiting for a bug when zero_width changes its type,
by not dividing with sizeof(*zero_width).  The use of ARRAY_SIZE()
is quite appropriate here.

Thanks.
 		return 0;
 
 	/* binary search in table of double width characters */
-	if (bisearch(ch, double_width, sizeof(double_width)
-				/ sizeof(struct interval) - 1))
+	if (bisearch(ch, double_width, ARRAY_SIZE(double_width) - 1))
 		return 2;
 
 	return 1;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help