Обсуждение: 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
Вложения
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
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