X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=dll%2Fwin32%2Fkernel32%2Fclient%2Ffile%2Fdisk.c;h=1b7d1e3a9d8cc4ad93dff6649ced4d4f87317436;hp=1ba1b7354916f9056e741dd14a5a06e7ff6f7c18;hb=8b6518139db31655a395a1547dd475f06f79b934;hpb=1e2424ee98bd12d6a5a7ebffdfa138546a5c7a5b diff --git a/dll/win32/kernel32/client/file/disk.c b/dll/win32/kernel32/client/file/disk.c index 1ba1b735491..1b7d1e3a9d8 100644 --- a/dll/win32/kernel32/client/file/disk.c +++ b/dll/win32/kernel32/client/file/disk.c @@ -359,18 +359,23 @@ GetDiskFreeSpaceExA(IN LPCSTR lpDirectoryName OPTIONAL, OUT PULARGE_INTEGER lpTotalNumberOfBytes, OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes) { - PWCHAR DirectoryNameW=NULL; + PCSTR RootPath; + PUNICODE_STRING RootPathU; - if (lpDirectoryName) + RootPath = lpDirectoryName; + if (RootPath == NULL) { - if (!(DirectoryNameW = FilenameA2W(lpDirectoryName, FALSE))) - return FALSE; + RootPath = "\\"; + } + + RootPathU = Basep8BitStringToStaticUnicodeString(RootPath); + if (RootPathU == NULL) + { + return FALSE; } - return GetDiskFreeSpaceExW (DirectoryNameW , - lpFreeBytesAvailableToCaller, - lpTotalNumberOfBytes, - lpTotalNumberOfFreeBytes); + return GetDiskFreeSpaceExW(RootPathU->Buffer, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes); } /*