From: René Scharfe Date: Fri, 12 Dec 2025 13:02:17 GMT Subject: Re: [PATCH 1/2] git-compat-util: introduce MEMZERO_ARRAY() macro Message-ID: In-Reply-To: On 12/11/25 4:18 AM, Junio C Hamano wrote: > Toon Claes writes: > >> +@@ >> +- memset(ptr, \( 0x0 \| 0 \), n * \( sizeof(T) >> +- \| sizeof(*ptr) >> +- \) ) >> ++ MEMZERO_ARRAY(ptr, n) > > Shouldn't we be also catching > > memset(array, '\0', sizeof(array[0]) * ARRAY_SIZE(array)); > > in addition to "0" and "0x0"? Good idea to match "sizeof(ptr[...])", even though we currently don't have matching code. Good idea also to match "'\0'". There's code with that pattern in compat/regex/. You can drop "0x0", though, "0" matches it already (at least for me, I have "spatch version 1.3-dirty compiled with OCaml version 5.1.1" from Homebrew). If you put parentheses around "n" in the pre-image then Coccinelle will remove them if present and still match code without them. They are no longer needed without the multiplication. Their removal would improve the result for ewah/bitmap.c. René