summaryrefslogtreecommitdiff
path: root/src/w32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/w32.c')
-rw-r--r--src/w32.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/w32.c b/src/w32.c
index c5b51bb6b0e..c821e245d83 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -4502,7 +4502,7 @@ sys_rename_replace (const char *oldname, const char *newname, BOOL force)
filename_to_utf16 (temp, temp_w);
filename_to_utf16 (newname, newname_w);
result = _wrename (temp_w, newname_w);
- if (result < 0 && force)
+ if (result < 0)
{
DWORD w32err = GetLastError ();
@@ -4520,7 +4520,7 @@ sys_rename_replace (const char *oldname, const char *newname, BOOL force)
&& (attributes & FILE_ATTRIBUTE_DIRECTORY))
errno = EXDEV;
}
- else if (errno == EEXIST)
+ else if (errno == EEXIST && force)
{
if (_wchmod (newname_w, 0666) != 0)
return result;
@@ -4546,7 +4546,7 @@ sys_rename_replace (const char *oldname, const char *newname, BOOL force)
filename_to_ansi (temp, temp_a);
filename_to_ansi (newname, newname_a);
result = rename (temp_a, newname_a);
- if (result < 0 && force)
+ if (result < 0)
{
DWORD w32err = GetLastError ();
@@ -4559,7 +4559,7 @@ sys_rename_replace (const char *oldname, const char *newname, BOOL force)
&& (attributes & FILE_ATTRIBUTE_DIRECTORY))
errno = EXDEV;
}
- else if (errno == EEXIST)
+ else if (errno == EEXIST && force)
{
if (_chmod (newname_a, 0666) != 0)
return result;