mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +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
|
#ifdef HAVE_LIBZ
|
||||||
static const char *
|
static const char *
|
||||||
get_gz_error(gzFile *gzf)
|
get_gz_error(gzFile gzf)
|
||||||
{
|
{
|
||||||
int errnum;
|
int errnum;
|
||||||
const char *errmsg;
|
const char *errmsg;
|
||||||
@ -450,7 +450,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
|
|||||||
FILE *tarfile = NULL;
|
FILE *tarfile = NULL;
|
||||||
|
|
||||||
#ifdef HAVE_LIBZ
|
#ifdef HAVE_LIBZ
|
||||||
gzFile *ztarfile = NULL;
|
gzFile ztarfile = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (PQgetisnull(res, rownum, 0))
|
if (PQgetisnull(res, rownum, 0))
|
||||||
|
@ -60,7 +60,7 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
#ifdef HAVE_LIBZ
|
#ifdef HAVE_LIBZ
|
||||||
gzFile *FH;
|
gzFile FH;
|
||||||
#else
|
#else
|
||||||
FILE *FH;
|
FILE *FH;
|
||||||
#endif
|
#endif
|
||||||
|
@ -58,16 +58,13 @@ static void _EndBlobs(ArchiveHandle *AH, TocEntry *te);
|
|||||||
#define K_STD_BUF_SIZE 1024
|
#define K_STD_BUF_SIZE 1024
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBZ
|
|
||||||
/* typedef gzFile ThingFile; */
|
|
||||||
typedef FILE ThingFile;
|
|
||||||
#else
|
|
||||||
typedef FILE ThingFile;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
ThingFile *zFH;
|
#ifdef HAVE_LIBZ
|
||||||
|
gzFile zFH;
|
||||||
|
#else
|
||||||
|
FILE *zFH;
|
||||||
|
#endif
|
||||||
FILE *nFH;
|
FILE *nFH;
|
||||||
FILE *tarFH;
|
FILE *tarFH;
|
||||||
FILE *tmpFH;
|
FILE *tmpFH;
|
||||||
|
Reference in New Issue
Block a user