=?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