dlls/kernel32/volume

Alexandre Julliard julliard at winehq.org
Tue Jul 20 08:00:06 CDT 2010


stephenmsmith at blueyonder.co.uk writes:

> diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
> index 7596864..4908739 100644
> --- a/dlls/kernel32/volume.c
> +++ b/dlls/kernel32/volume.c
> @@ -526,10 +526,17 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
>      }
>      else
>      {
> -        if (!root[0] || root[1] != ':' || root[lstrlenW(root)-1] != '\\' )
> +        if (!isalphaW(root[0]) || root[1] != ':' || root[lstrlenW(root)-1] != '\\')
>          {
> -            SetLastError( ERROR_INVALID_NAME );
> -            return FALSE;
> +            WCHAR curpath[MAX_PATH],winpath[MAX_PATH];
> +            GetCurrentDirectoryW(MAX_PATH,curpath);
> +            GetWindowsDirectoryW(winpath,MAX_PATH);
> +
> +            if(lstrlenW(curpath) > 3 && root[0] == winpath[0])
> +            {
> +                SetLastError( ERROR_INVALID_NAME );
> +                return FALSE;
> +            }

This clearly makes no sense, path syntax doesn't depend on the windows
directory.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list