/* Work around rename bugs in some systems.
- Copyright (C) 2001-2003, 2005-2006, 2009-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2006, 2009-2021 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* Written by Volker Borchert, Eric Blake. */
#undef rename
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
/* The mingw rename has problems with trailing slashes; it also
requires use of native Windows calls to allow atomic renames over
existing files. */
# include "dirname.h"
+/* Don't assume that UNICODE is not defined. */
+# undef MoveFileEx
+# define MoveFileEx MoveFileExA
+
/* Rename the file SRC to DST. This replacement is necessary on
Windows, on which the system rename function will not replace
an existing DST. */
}
if (rmdir (dst))
{
- error = errno;
free (src_temp);
free (dst_temp);
- errno = error;
return -1;
}
free (src_temp);