diff src/fileio.c @ 7493:f4fb8b913c5d

(Fcopy_file): Close output before setting its times. Close both before discarding the unwind protects.
author Richard M. Stallman <rms@gnu.org>
date Sat, 14 May 1994 06:34:26 +0000
parents c9942f71e2e9
children bf357bdc648e
line wrap: on
line diff
--- a/src/fileio.c	Fri May 13 22:21:45 1994 +0000
+++ b/src/fileio.c	Sat May 14 06:34:26 1994 +0000
@@ -1803,6 +1803,10 @@
 	report_file_error ("I/O error", Fcons (newname, Qnil));
   immediate_quit = 0;
 
+  /* Closing the output clobbers the file times on some systems.  */
+  if (close (ofd) < 0)
+    report_file_error ("I/O error", Fcons (newname, Qnil));
+
   if (input_file_statable_p)
     {
       if (!NILP (keep_date))
@@ -1818,13 +1822,11 @@
 	chmod (XSTRING (newname)->data, st.st_mode & 07777);
     }
 
+  close (ifd);
+
   /* Discard the unwind protects.  */
   specpdl_ptr = specpdl + count;
 
-  close (ifd);
-  if (close (ofd) < 0)
-    report_file_error ("I/O error", Fcons (newname, Qnil));
-
   UNGCPRO;
   return Qnil;
 }