Commit 322c175c authored by Akihiro Sagawa's avatar Akihiro Sagawa Committed by Alexandre Julliard

cmd: DIR command outputs free space for the path.

When the path contains a mountpoint on Unix or a junction point to another drive on Windows, cmd.exe should show free space for the path instead of the root of the drive.
parent 91de94ab
......@@ -503,16 +503,14 @@ static DIRECTORY_STACK *WCMD_list_directory (DIRECTORY_STACK *inputparms, int le
/*****************************************************************************
* WCMD_dir_trailer
*
* Print out the trailer for the supplied drive letter
* Print out the trailer for the supplied path
*/
static void WCMD_dir_trailer(WCHAR drive) {
ULARGE_INTEGER avail, total, freebytes;
DWORD status;
WCHAR driveName[] = L"c:\\";
driveName[0] = drive;
status = GetDiskFreeSpaceExW(driveName, &avail, &total, &freebytes);
WINE_TRACE("Writing trailer for '%s' gave %ld(%ld)\n", wine_dbgstr_w(driveName),
static void WCMD_dir_trailer(const WCHAR *path) {
ULARGE_INTEGER freebytes;
BOOL status;
status = GetDiskFreeSpaceExW(path, NULL, NULL, &freebytes);
WINE_TRACE("Writing trailer for '%s' gave %d(%ld)\n", wine_dbgstr_w(path),
status, GetLastError());
if (errorlevel==0 && !bare) {
......@@ -828,7 +826,7 @@ void WCMD_directory (WCHAR *args)
/* Trailer Information */
if (lastDrive != '?') {
trailerReqd = FALSE;
WCMD_dir_trailer(prevEntry->dirName[0]);
WCMD_dir_trailer(prevEntry->dirName);
}
lastDrive = towupper(thisEntry->dirName[0]);
......@@ -858,7 +856,7 @@ void WCMD_directory (WCHAR *args)
/* Trailer Information */
if (trailerReqd) {
WCMD_dir_trailer(prevEntry->dirName[0]);
WCMD_dir_trailer(prevEntry->dirName);
}
exit:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment