Re: [PATCH 1/2] git-compat-util: introduce MEMZERO_ARRAY() macro
- From
René Scharfe <l.s.r@web.de>
- Date
- Dec 12, 2025, 13:02 UTC
- Message-ID
- <f02b628f-b9d7-4436-88ee-3255e02cb0f3@web.de>
- In-Reply-To
- <xmqqtsxxg0z4.fsf@gitster.g>
On 12/11/25 4:18 AM, Junio C Hamano wrote:
Show 13 quoted lines
> Toon Claes <toon@iotcl.com> 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é