Peter Eisentraut <peter_e@gmx.net> writes:
> Fixing most of this is not difficult, see attached patch. The only
> ugliness is in pg_backup_archiver.h
> FILE *FH; /* General purpose file handle */
> which is used throughout pg_dump as sometimes a real FILE* and sometimes
> a gzFile handle. There are also some fileno() calls on this, so just
> replacing this with an #ifdef isn't going to work. This might need some
> more restructuring to make the code truly type-safe. My quick patch
> replaces the type with void*, thus sort of restoring the original
> situation that allowed this to work.
void * seems entirely reasonable given the two different usages, but
I would be happier if the patch added explicit casts whereever FH is
set to or used as one of these two types.
regards, tom lane