Improved MoveFileEx() Patch

Huw Davies huw at codeweavers.com
Fri Sep 13 10:23:44 CDT 2002


On Fri, Sep 13, 2002 at 04:50:47PM +0200, Martin Wilck wrote:
> Index: files/file.c
> ===================================================================
> RCS file: /home/wine/wine/files/file.c,v
> retrieving revision 1.160
> diff -u -r1.160 file.c
> --- files/file.c	12 Sep 2002 22:28:01 -0000	1.160
> +++ files/file.c	13 Sep 2002 14:26:47 -0000
> @@ -2579,6 +2579,7 @@
>  {
>      DOS_FULL_NAME full_name1, full_name2;
>      HANDLE hFile;
> +    DWORD attr = INVALID_FILE_ATTRIBUTES;
>  
>      TRACE("(%s,%s,%04lx)\n", debugstr_w(fn1), debugstr_w(fn2), flag);
>  
> @@ -2619,8 +2620,7 @@
>                  /* target exists, check if we may overwrite */
>                  if (!(flag & MOVEFILE_REPLACE_EXISTING))
>                  {
> -                    /* FIXME: Use right error code */
> -                    SetLastError( ERROR_ACCESS_DENIED );
> +                    SetLastError( ERROR_FILE_EXISTS );
>                      return FALSE;
>                  }
>              }
> @@ -2647,17 +2647,17 @@
>              return FILE_AddBootRenameEntry( fn1, fn2, flag );
>          }
>  
> +        attr = GetFileAttributesA( full_name1.long_name );

Any reason why you don't use:
	attr = GetFileAttributesW( fn1 );
here?

I've seen cases that I've not had time to investigate where the former
version fails.

Huw.
-- 
Huw Davies
huw at codeweavers.com



More information about the wine-devel mailing list