Warning in pg_backup_archiver.c

Started by Michael Paquieralmost 12 years ago2 messages
#1Michael Paquier
michael.paquier@gmail.com
1 attachment(s)

Hi,

While compiling on clang, I noticed the following warning:
pg_backup_archiver.c:1950:32: warning: comparison of constant -1 with
expression of type 'ArchiveFormat' (aka 'enum _archiveFormat') is always
false
[-Wtautological-constant-out-of-range-compare]
if ((AH->format = fgetc(fh)) == EOF)
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~
Something like the patch attached calms down the compiler... This has been
introduced recently by commit cfa1b4a of the 9th of February.
Regards,
--
Michael

Attachments:

20140221_pg_dump_warning.patchtext/x-patch; charset=US-ASCII; name=20140221_pg_dump_warning.patchDownload
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index 2b36e45..2503348 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -1899,6 +1899,7 @@ _discoverArchiveFormat(ArchiveHandle *AH)
 	if (strncmp(sig, "PGDMP", 5) == 0)
 	{
 		int byteread;
+		int res;
 
 		/*
 		 * Finish reading (most of) a custom-format header.
@@ -1947,8 +1948,9 @@ _discoverArchiveFormat(ArchiveHandle *AH)
 		else
 			AH->offSize = AH->intSize;
 
-		if ((AH->format = fgetc(fh)) == EOF)
+		if ((res = fgetc(fh)) == EOF)
 			exit_horribly(modulename, "could not read input file: %s\n", strerror(errno));
+		AH->format = res;
 		AH->lookahead[AH->lookaheadLen++] = AH->format;
 	}
 	else
#2Stephen Frost
sfrost@snowman.net
In reply to: Michael Paquier (#1)
Re: Warning in pg_backup_archiver.c

Michael,

* Michael Paquier (michael.paquier@gmail.com) wrote:

While compiling on clang, I noticed the following warning:
pg_backup_archiver.c:1950:32: warning: comparison of constant -1 with
expression of type 'ArchiveFormat' (aka 'enum _archiveFormat') is always
false
[-Wtautological-constant-out-of-range-compare]
if ((AH->format = fgetc(fh)) == EOF)
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~
Something like the patch attached calms down the compiler... This has been
introduced recently by commit cfa1b4a of the 9th of February.

I've got a patch for this already, but it's included in a bunch of other
minor cleanup stuff that I'm still playing with. I hope to commit it
this weekend.

Thanks,

Stephen