summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-05-24 10:57:10 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-05-24 10:57:10 +0000
commit415c8f3b2abccd8f04b0095551919adf142e6eee (patch)
treed0cf3c9712653922fbabf7aa4f02f4a1fffecf00
parent130e9641fd8700ee9ac18a3f2e42a4e8f743a8e9 (diff)
Remove broken code in exim.h that tried to preserve EX_OK when it was
redefined in unistd.h (IRIX6). It didn't matter because EX_OK is not used.
-rw-r--r--doc/doc-txt/ChangeLog8
-rw-r--r--src/src/exim.h18
2 files changed, 14 insertions, 12 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index ea066a4a6..d7d60c09c 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.142 2005/05/24 08:28:58 tom Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.143 2005/05/24 10:57:10 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -41,6 +41,12 @@ TK/02 Rewrote SPF support to work with libspf2 versions >1.2.0.
TK/03 Merged latest SRS patch from Miles Wilton.
+PH/05 There's a shambles in IRIX6 - it defines EX_OK in unistd.h which conflicts
+ with the definition in sysexits.h (which is #included earlier).
+ Fortunately, Exim does not actually use EX_OK. The code used to try to
+ preserve the sysexits.h value, by assumimg that macro definitions were
+ scanned for macro replacements. I have been disabused of this notion,
+ so now the code just undefines EX_OK before #including unistd.h.
Exim version 4.51
diff --git a/src/src/exim.h b/src/src/exim.h
index 44e4ab31d..6721cb609 100644
--- a/src/src/exim.h
+++ b/src/src/exim.h
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/exim.h,v 1.14 2005/05/23 16:58:56 fanf2 Exp $ */
+/* $Cambridge: exim/src/src/exim.h,v 1.15 2005/05/24 10:57:10 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -221,23 +221,19 @@ or a macro with entries f_frsize and f_bsize. */
#include <fcntl.h>
/* There's a shambles in IRIX6 - it defines EX_OK in unistd.h which conflicts
-with the definition in sysexits.h. Arrange to preserve it, even though at
-present Exim doesn't actually use it. */
+with the definition in sysexits.h. Exim does not actually use this macro, so we
+just undefine it. It would be nice to be able to re-instate the definition from
+sysexits.h if there is no definition in unistd.h, but I do not think there is a
+way to do this in C because macro definitions are not scanned for other macros
+at definition time. [The code here used to assume they were, until I was
+disabused of the notion. Luckily, since EX_OK is not used, it didn't matter.] */
#ifdef EX_OK
-#define SAVE_EX_OK EX_OK
#undef EX_OK
#endif
#include <unistd.h>
-#ifdef SAVE_EX_OK
-#ifdef EX_OK
-#undef EX_OK
-#endif
-#define EX_OK SAVE_EX_OK
-#endif
-
#include <utime.h>
#ifndef NO_NET_IF_H
#include <net/if.h>