=?UTF-8?Q?Fr=C3=A9d=C3=A9ric=20Delanoy=20?=: cmd: Make RENAME work for read-only files.
Alexandre Julliard
julliard at winehq.org
Fri Oct 14 14:14:49 CDT 2011
Module: wine
Branch: master
Commit: 6fd9d774268fe2b9e4f3fecbbbcf29f8a87218c2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6fd9d774268fe2b9e4f3fecbbbcf29f8a87218c2
Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date: Fri Oct 14 15:37:59 2011 +0200
cmd: Make RENAME work for read-only files.
---
programs/cmd/builtins.c | 15 +++------------
programs/cmd/tests/test_builtins.cmd.exp | 2 +-
2 files changed, 4 insertions(+), 13 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index ed2b6f0..5a890c7 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -1768,8 +1768,8 @@ void WCMD_remove_dir (WCHAR *command) {
* Rename a file.
*/
-void WCMD_rename (void) {
-
+void WCMD_rename (void)
+{
int status;
HANDLE hff;
WIN32_FIND_DATAW fd;
@@ -1779,7 +1779,6 @@ void WCMD_rename (void) {
WCHAR dir[MAX_PATH];
WCHAR fname[MAX_PATH];
WCHAR ext[MAX_PATH];
- DWORD attribs;
errorlevel = 0;
@@ -1853,15 +1852,7 @@ void WCMD_rename (void) {
WINE_TRACE("Source '%s'\n", wine_dbgstr_w(src));
WINE_TRACE("Dest '%s'\n", wine_dbgstr_w(dest));
- /* Check if file is read only, otherwise move it */
- attribs = GetFileAttributesW(src);
- if ((attribs != INVALID_FILE_ATTRIBUTES) &&
- (attribs & FILE_ATTRIBUTE_READONLY)) {
- SetLastError(ERROR_ACCESS_DENIED);
- status = 0;
- } else {
- status = MoveFileW(src, dest);
- }
+ status = MoveFileW(src, dest);
if (!status) {
WCMD_print_error ();
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index eaefdc1..20e5d12 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -602,7 +602,7 @@ bar renamed to foo
foo
bar
... rename read-only files ...
- at todo_wine@read-only file renamed
+read-only file renamed
... rename directories ...
dir renamed
read-only dir renamed
More information about the wine-cvs
mailing list