Re: [PATCH] git-compat-util.h: introduce CALLOC(x)
- From
Jeff King <peff@peff.net>
- Date
- Dec 6, 2022, 01:43 UTC
- Message-ID
- <Y46eVnYrcOGAbUhi@coredump.intra.peff.net>
- In-Reply-To
- <Y45yaYV3xFB/xR2G@nand.local>
On Mon, Dec 05, 2022 at 05:36:25PM -0500, Taylor Blau wrote:
Show 21 quoted lines
> On Mon, Dec 05, 2022 at 10:01:11PM +0100, René Scharfe wrote: > > This rule would turn this code: > > > > struct foo *bar = xcalloc(1, sizeof(*bar)); > > int i; > > > > ... into: > > > > struct foo *bar; > > CALLOC(bar); > > int i; > > > > ... which violates the coding guideline to not mix declarations and > > statements (-Wdeclaration-after-statement). > > Yeah, I was wondering about this myself when I wrote this part of the > Coccinelle patch. > > Is there an intelligent way to tell it to put the first statement after > all declarations? I couldn't find anything after a quick scan of the > documentation nor our own patches.
It feels like generating the code as above is not the end of the world. The most valuable thing that coccinelle is doing here is _finding_ the location, and telling you "it's supposed to be like this". It is great when the "this" post-image is perfect and doesn't need further tweaking.
But if the compiler then reminds you "hey, you need to go a bit further manually", that doesn't seem so bad. In other words, I would be happy to follow that work flow if I introduced a bare xcalloc(). My only worry is that somebody less experienced with the project (or with C) would get confused.
-Peff