mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix incorrect uses of gzFile
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.
This commit is contained in:
@ -82,7 +82,7 @@ static bool segment_callback(XLogRecPtr segendpos, uint32 timeline);
|
||||
|
||||
#ifdef HAVE_LIBZ
|
||||
static const char *
|
||||
get_gz_error(gzFile *gzf)
|
||||
get_gz_error(gzFile gzf)
|
||||
{
|
||||
int errnum;
|
||||
const char *errmsg;
|
||||
@ -450,7 +450,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
|
||||
FILE *tarfile = NULL;
|
||||
|
||||
#ifdef HAVE_LIBZ
|
||||
gzFile *ztarfile = NULL;
|
||||
gzFile ztarfile = NULL;
|
||||
#endif
|
||||
|
||||
if (PQgetisnull(res, rownum, 0))
|
||||
|
@ -60,7 +60,7 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
#ifdef HAVE_LIBZ
|
||||
gzFile *FH;
|
||||
gzFile FH;
|
||||
#else
|
||||
FILE *FH;
|
||||
#endif
|
||||
|
@ -58,16 +58,13 @@ static void _EndBlobs(ArchiveHandle *AH, TocEntry *te);
|
||||
#define K_STD_BUF_SIZE 1024
|
||||
|
||||
|
||||
#ifdef HAVE_LIBZ
|
||||
/* typedef gzFile ThingFile; */
|
||||
typedef FILE ThingFile;
|
||||
#else
|
||||
typedef FILE ThingFile;
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ThingFile *zFH;
|
||||
#ifdef HAVE_LIBZ
|
||||
gzFile zFH;
|
||||
#else
|
||||
FILE *zFH;
|
||||
#endif
|
||||
FILE *nFH;
|
||||
FILE *tarFH;
|
||||
FILE *tmpFH;
|
||||
|
Reference in New Issue
Block a user