From 9e381cdd9641fa07e9caa09b783db8d5f84f1651 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 16 Jul 2011 18:18:51 -0700
Subject: [PATCH] * fileio.c (Fcopy_file): Pacify gcc re fchown.  (Bug#9002)

This works around a problem with the previous change to Fcopy_file.
Recent glibc declares fchown with __attribute__((warn_unused_result)),
and without this change, GCC might complain about discarding
fchown's return value.
---
 src/ChangeLog | 8 ++++++++
 src/fileio.c  | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 7f8717176b0..d12558e5d6d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* fileio.c (Fcopy_file): Pacify gcc re fchown.  (Bug#9002)
+	This works around a problem with the previous change to Fcopy_file.
+	Recent glibc declares fchown with __attribute__((warn_unused_result)),
+	and without this change, GCC might complain about discarding
+	fchown's return value.
+
 2011-07-16  Juanma Barranquero  <lekktu@gmail.com>
 
 	* makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
diff --git a/src/fileio.c b/src/fileio.c
index de822cdb466..a52e834c2b2 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -38,6 +38,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include <selinux/context.h>
 #endif
 
+#include <ignore-value.h>
+
 #include "lisp.h"
 #include "intervals.h"
 #include "buffer.h"
@@ -1960,7 +1962,7 @@ on the system, we copy the SELinux context of FILE to NEWNAME.  */)
   if (input_file_statable_p)
     {
       if (!NILP (preserve_uid_gid))
-	fchown (ofd, st.st_uid, st.st_gid);
+	ignore_value (fchown (ofd, st.st_uid, st.st_gid));
       if (fchmod (ofd, st.st_mode & 07777) != 0)
 	report_file_error ("Doing chmod", Fcons (newname, Qnil));
     }
-- 
2.39.5