]> git.eshelyaron.com Git - emacs.git/commitdiff
Implement renameat_noreplace for MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Mon, 14 Aug 2017 16:31:12 +0000 (19:31 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 14 Aug 2017 16:31:12 +0000 (19:31 +0300)
* src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
emulation for MS-Windows.  (Bug#27986)

src/sysdep.c

index 9eb733221e47b8a157bb40caa0bc8a1071653873..35f499c185395afc2cac5cfdf13180d1f1080543 100644 (file)
@@ -2694,6 +2694,10 @@ 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);
 #else
+#ifdef WINDOWSNT
+  if (srcfd == AT_FDCWD && dstfd == AT_FDCWD)
+    return sys_rename_replace (src, dst, 0);
+#endif
   errno = ENOSYS;
   return -1;
 #endif