emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master c990f8d: Implement renameat_noreplace on recent Cyg


From: Ken Brown
Subject: [Emacs-diffs] master c990f8d: Implement renameat_noreplace on recent Cygwin
Date: Sun, 10 Sep 2017 11:04:43 -0400 (EDT)

branch: master
commit c990f8d93dcc78aa98e58b89bddb666efcea2710
Author: Ken Brown <address@hidden>
Commit: Ken Brown <address@hidden>

    Implement renameat_noreplace on recent Cygwin
    
    * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
    (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
    (Bug#27986)
---
 src/sysdep.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/sysdep.c b/src/sysdep.c
index b66a745..f5050e6 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -42,6 +42,10 @@ along with GNU Emacs.  If not, see 
<http://www.gnu.org/licenses/>.  */
 # include <sys/syscall.h>
 #endif
 
+#ifdef CYGWIN
+# include <cygwin/fs.h>
+#endif
+
 #if defined DARWIN_OS || defined __FreeBSD__
 # include <sys/sysctl.h>
 #endif
@@ -2685,6 +2689,8 @@ renameat_noreplace (int srcfd, char const *src, int 
dstfd, char const *dst)
 {
 #if defined SYS_renameat2 && defined RENAME_NOREPLACE
   return syscall (SYS_renameat2, srcfd, src, dstfd, dst, RENAME_NOREPLACE);
+#elif defined RENAME_NOREPLACE /* Cygwin >= 2.9.0. */
+  return renameat2 (srcfd, src, dstfd, dst, RENAME_NOREPLACE);
 #elif defined RENAME_EXCL
   return renameatx_np (srcfd, src, dstfd, dst, RENAME_EXCL);
 #else



reply via email to

[Prev in Thread] Current Thread [Next in Thread]