* lib/renameat.c: Include unistd.h before stdio.h, because
Solaris 10 declares renameat in unistd.h.  Problem encountered
when building GNU tar 1.24 on Solaris 10.
---
 ChangeLog      |    8 ++++++++
 lib/renameat.c |    6 ++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f18abb1..38888bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-10-26  Paul Eggert  <[email protected]>
+
+       renameat: port to Solaris 10, which declares renameat in unistd.h
+
+       * lib/renameat.c: Include unistd.h before stdio.h, because
+       Solaris 10 declares renameat in unistd.h.  Problem encountered
+       when building GNU tar 1.24 on Solaris 10.
+
 2010-10-26  Christian Weisgerber  <[email protected]>  (tiny change)
 
        fdopendir: fix C89 compilation
diff --git a/lib/renameat.c b/lib/renameat.c
index f294765..692fd52 100644
--- a/lib/renameat.c
+++ b/lib/renameat.c
@@ -18,6 +18,12 @@
 
 #include <config.h>
 
+/* Solaris 10, which predates POSIX-2008, declares its renameat in
+   unistd.h.  Include unistd.h before including stdio.h, so that
+   gnulib's stdio.h doesn't #define renameat to rpl_renameat before
+   Solaris 10's unistd.h declares the system renameat.  */
+#include <unistd.h>
+
 #include <stdio.h>
 
 #if HAVE_RENAMEAT
-- 
1.7.2


Reply via email to