void * cast cleanup
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
Attachments:
void-pointer-cleanup-1.patchtext/x-patch; charset=ISO-8859-1; name=void-pointer-cleanup-1.patchDownload+20-20
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
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