Re: [PATCH] git-compat-util.h: introduce CALLOC(x)
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Dec 7, 2022, 02:29 UTC
- Message-ID
- <Y4/6eDxUeSLYss/a@nand.local>
- In-Reply-To
- <Y46eVnYrcOGAbUhi@coredump.intra.peff.net>
On Mon, Dec 05, 2022 at 08:43:50PM -0500, Jeff King wrote:
Show 28 quoted lines
> On Mon, Dec 05, 2022 at 05:36:25PM -0500, Taylor Blau wrote: > > > 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.
I have to agree. If Coccinelle can generate the right output; great. But if it can't, the amount of additional work to reorganize an already generated and mostly correct *.patch from the tool seems minimal by comparison.
Show 5 quoted lines
> 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.
Agreed.
Thanks, Taylor