Thread: void * cast cleanup

void * cast cleanup

From
Neil Conway
Date:
This patch removes a few instances where a pointer type was being
explicitly cast to void * when pfree() was called. Per ANSI89, this is
redundant: any pointer type can be assigned to void *, and vice versa,
without a cast. IMHO adding the cast in this case serves only to make
the code harder to read.

Would anyone object to me removing some more void * casts, e.g. the
parameters to the various _walker functions?

-Neil


Attachment

Re: void * cast cleanup

From
Tom Lane
Date:
Neil Conway <neilc@samurai.com> writes:
> Would anyone object to me removing some more void * casts, e.g. the
> parameters to the various _walker functions?

I'm a bit concerned about introducing warnings from not-quite-with-it
compilers.  Are there any still out there that would treat this as a
bogus conversion?

While I agree that casting pfree's argument is just pedantry, I'm not
quite sold on the proposition for less well-known functions such as
the _walker family.  You could take it as a flag that "yes I mean to
treat this pointer as a generic object now".  I'm not dead set on that
reasoning but it's something to think about.

Any other opinions out there?

            regards, tom lane

Re: void * cast cleanup

From
Neil Conway
Date:
On Mon, 2004-09-27 at 11:49, Tom Lane wrote:
> I'm a bit concerned about introducing warnings from not-quite-with-it
> compilers.  Are there any still out there that would treat this as a
> bogus conversion?

Since this is defined by C89, I think we're okay assuming the compiler
can handle it. In any case, a compiler that doesn't comply with the
standard on this issue would issue hundreds of warnings/errors trying to
compile the rest of the PG tree (e.g. the vast majority of pfree() call
sites that don't bother with the explicit cast), so I don't think this
change makes the situation materially worse.

-Neil



Re: void * cast cleanup

From
Neil Conway
Date:
On Mon, 2004-09-27 at 09:52, Neil Conway wrote:
> This patch removes a few instances where a pointer type was being
> explicitly cast to void * when pfree() was called.

Patch applied to HEAD.

-Neil