Hi, The variable presume_output_tty is defined both in the diff.h header and the file util.c (which includes diff.h).
The diff.h file makes sure that the variable is declared as external except when it's included by the main program diff.c. But as it's also declared in util.c we end up having two non-external declarations of it. Traditionally gcc has allowed this behavior, which is probably the reason it has not been spottet before, but it's not correct C. One can get a more strict behavior here by passing -fno-common to the CFLAGS and LDFLAGS and then linking will fail. The solution is simple: Remove the superfluous declaration in util.c, see attached patch. Please apply. -- Hanno Böck https://hboeck.de/ mail/jabber: [email protected] GPG: FE73757FA60E4E21B937579FA5880072BBB51E42
diff --git a/src/util.c b/src/util.c
index d7b8925..76872cb 100644
--- a/src/util.c
+++ b/src/util.c
@@ -44,8 +44,6 @@
char const pr_program[] = PR_PROGRAM;
-bool presume_output_tty;
-
/* Queue up one-line messages to be printed at the end,
when -l is specified. Each message is recorded with a 'struct msg'. */
pgpP6O822tdXO.pgp
Description: OpenPGP digital signature
