On 03/03/22 16:40, Tom Lane wrote: > The point is to make it clear that the macro isn't intended to affect > code outside the function. Since C lacks block-scoped macros, > there's no other way to do that. > > I concede that a lot of our code is pretty sloppy about this, but > that doesn't make it a good practice.
Would the Datum values[3]; bool nulls[ lengthof(values) ]; pattern be more notationally tidy? No macro to define or undefine, we already define lengthof() in c.h, and it seems pretty much made for the purpose, if the objective is to have just one 3 to change if it someday becomes not-3. Regards, -Chap