diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2012-03-02 22:30:01 +0200 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2012-03-02 22:30:01 +0200 |
commit | d923125b77c5d698bb8107a533a21627582baa43 (patch) | |
tree | df1511da4e4e6b1edda06c57deeb282c81de5260 | |
parent | 8e5f4300fdcadac1bfd72a7d1a0225030226c800 (diff) | |
download | postgresql-d923125b77c5d698bb8107a533a21627582baa43.tar.gz postgresql-d923125b77c5d698bb8107a533a21627582baa43.zip |
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.
-rw-r--r-- | src/bin/pg_basebackup/pg_basebackup.c | 4 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_files.c | 2 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_tar.c | 11 |
3 files changed, 7 insertions, 10 deletions
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c index b39d2e7bf38..bf88726f326 100644 --- a/src/bin/pg_basebackup/pg_basebackup.c +++ b/src/bin/pg_basebackup/pg_basebackup.c @@ -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)) diff --git a/src/bin/pg_dump/pg_backup_files.c b/src/bin/pg_dump/pg_backup_files.c index 71bace0eab7..a7fd91d1c53 100644 --- a/src/bin/pg_dump/pg_backup_files.c +++ b/src/bin/pg_dump/pg_backup_files.c @@ -60,7 +60,7 @@ typedef struct typedef struct { #ifdef HAVE_LIBZ - gzFile *FH; + gzFile FH; #else FILE *FH; #endif diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c index 4952f5a15d3..4823edec7fe 100644 --- a/src/bin/pg_dump/pg_backup_tar.c +++ b/src/bin/pg_dump/pg_backup_tar.c @@ -58,16 +58,13 @@ static void _EndBlobs(ArchiveHandle *AH, TocEntry *te); #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; |