changeset 13826:061d4549f2bc

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.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 26 Oct 2010 13:48:34 -0700
parents bac537e8b09c
children 805b81dc0827
files ChangeLog lib/renameat.c
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	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  <naddy@mips.inka.de>  (tiny change)
 
 	fdopendir: fix C89 compilation
--- 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