Author: kotkov
Date: Tue Aug 20 09:00:03 2019
New Revision: 1865519
URL: http://svn.apache.org/viewvc?rev=1865519&view=rev
Log:
* subversion/libsvn_subr/io.c
(win32_file_rename): Rename `status` to `err`. This lays the groundwork for
fixing the incorrect error status being propagated to the caller in case
where we fail to stat the destination path while being in the middle of
a failed rename.
Modified:
subversion/trunk/subversion/libsvn_subr/io.c
Modified: subversion/trunk/subversion/libsvn_subr/io.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?rev=1865519&r1=1865518&r2=1865519&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/io.c (original)
+++ subversion/trunk/subversion/libsvn_subr/io.c Tue Aug 20 09:00:03 2019
@@ -4492,17 +4492,17 @@ win32_file_rename(const WCHAR *from_path
if (!MoveFileExW(from_path_w, to_path_w, flags))
{
- apr_status_t status = apr_get_os_error();
+ apr_status_t err = apr_get_os_error();
/* If the target file is read only NTFS reports EACCESS and
FAT/FAT32 reports EEXIST */
- if (APR_STATUS_IS_EACCES(status) || APR_STATUS_IS_EEXIST(status))
+ if (APR_STATUS_IS_EACCES(err) || APR_STATUS_IS_EEXIST(err))
{
DWORD attrs = GetFileAttributesW(to_path_w);
if (attrs == INVALID_FILE_ATTRIBUTES)
{
- status = apr_get_os_error();
- if (!(APR_STATUS_IS_ENOENT(status) ||
SVN__APR_STATUS_IS_ENOTDIR(status)))
- return status;
+ err = apr_get_os_error();
+ if (!(APR_STATUS_IS_ENOENT(err) ||
SVN__APR_STATUS_IS_ENOTDIR(err)))
+ return err;
}
else if (attrs & FILE_ATTRIBUTE_READONLY)
{
@@ -4512,9 +4512,9 @@ win32_file_rename(const WCHAR *from_path
attrs &= ~FILE_ATTRIBUTE_READONLY;
if (!SetFileAttributesW(to_path_w, attrs))
{
- status = apr_get_os_error();
- if (!(APR_STATUS_IS_ENOENT(status) ||
SVN__APR_STATUS_IS_ENOTDIR(status)))
- return status;
+ err = apr_get_os_error();
+ if (!(APR_STATUS_IS_ENOENT(err) ||
SVN__APR_STATUS_IS_ENOTDIR(err)))
+ return err;
}
}
@@ -4526,7 +4526,7 @@ win32_file_rename(const WCHAR *from_path
return apr_get_os_error();
}
else
- return status;
+ return err;
}
return APR_SUCCESS;