gzFile is already a pointer, so code like
gzFile *handle = gzopen(...)
is wrong.
This used to pass silently because gzFile used to be defined as void*,
and you can assign a void* to a void**. But somewhere between zlib
versions 1.2.3.4 and 1.2.6, the definition of gzFile was changed to
struct gzFile_s *, and with that new definition this usage causes
compiler warnings.
So remove all those extra pointer decorations.
There is a related issue in pg_backup_archiver.h, where
FILE *FH; /* General purpose file handle */
is used throughout pg_dump as sometimes a real FILE* and sometimes a
gzFile handle, which also causes warnings now. This is not yet fixed
here, because it might need more code restructuring.
#ifdef HAVE_LIBZ
static const char *
-get_gz_error(gzFile *gzf)
+get_gz_error(gzFile gzf)
{
int errnum;
const char *errmsg;
FILE *tarfile = NULL;
#ifdef HAVE_LIBZ
- gzFile *ztarfile = NULL;
+ gzFile ztarfile = NULL;
#endif
if (PQgetisnull(res, rownum, 0))
typedef struct
{
#ifdef HAVE_LIBZ
- gzFile *FH;
+ gzFile FH;
#else
FILE *FH;
#endif
#define K_STD_BUF_SIZE 1024
+typedef struct
+{
#ifdef HAVE_LIBZ
- /* typedef gzFile ThingFile; */
-typedef FILE ThingFile;
+ gzFile zFH;
#else
-typedef FILE ThingFile;
+ FILE *zFH;
#endif
-
-typedef struct
-{
- ThingFile *zFH;
FILE *nFH;
FILE *tarFH;
FILE *tmpFH;