[NTVDM] disk.c: Simplify some code; unmount only present disks during cleanup (avoids useless debug-print errors).

This commit is contained in:
Hermès Bélusca-Maïto 2021-11-27 01:36:56 +01:00
parent 6823878a02
commit 86eebc2a31
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0

View file

@ -186,7 +186,7 @@ static DISK_GEO DiskGeometryList[] =
{2880, 36, 2, 80, 6}, {2880, 36, 2, 80, 6},
}; };
BOOLEAN static BOOLEAN
MountFDI(IN PDISK_IMAGE DiskImage, MountFDI(IN PDISK_IMAGE DiskImage,
IN HANDLE hFile) IN HANDLE hFile)
{ {
@ -242,7 +242,7 @@ MountFDI(IN PDISK_IMAGE DiskImage,
// Secondary Master Drive, Secondary Slave Drive. // Secondary Master Drive, Secondary Slave Drive.
static DISK_IMAGE XDCHardDrive[4]; static DISK_IMAGE XDCHardDrive[4];
BOOLEAN static BOOLEAN
MountHDD(IN PDISK_IMAGE DiskImage, MountHDD(IN PDISK_IMAGE DiskImage,
IN HANDLE hFile) IN HANDLE hFile)
{ {
@ -525,26 +525,13 @@ MountDisk(IN DISK_TYPE DiskType,
/* Try to open the file */ /* Try to open the file */
SetLastError(0); // For debugging purposes SetLastError(0); // For debugging purposes
if (ReadOnly) hFile = CreateFileW(FileName,
{ GENERIC_READ | (ReadOnly ? 0 : GENERIC_WRITE),
hFile = CreateFileW(FileName, (ReadOnly ? FILE_SHARE_READ : 0),
GENERIC_READ, NULL,
FILE_SHARE_READ, OPEN_EXISTING,
NULL, FILE_ATTRIBUTE_NORMAL,
OPEN_EXISTING, NULL);
FILE_ATTRIBUTE_NORMAL,
NULL);
}
else
{
hFile = CreateFileW(FileName,
GENERIC_READ | GENERIC_WRITE,
0, // No sharing access
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
}
DPRINT1("File '%S' opening %s ; GetLastError() = %u\n", DPRINT1("File '%S' opening %s ; GetLastError() = %u\n",
FileName, hFile != INVALID_HANDLE_VALUE ? "succeeded" : "failed", GetLastError()); FileName, hFile != INVALID_HANDLE_VALUE ? "succeeded" : "failed", GetLastError());
@ -638,13 +625,19 @@ VOID DiskCtrlCleanup(VOID)
{ {
ULONG DiskNumber; ULONG DiskNumber;
/* Unmount all the floppy disk drives */ /* Unmount all the present floppy disk drives */
for (DiskNumber = 0; DiskNumber < DiskMountInfo[FLOPPY_DISK].NumDisks; ++DiskNumber) for (DiskNumber = 0; DiskNumber < DiskMountInfo[FLOPPY_DISK].NumDisks; ++DiskNumber)
UnmountDisk(FLOPPY_DISK, DiskNumber); {
if (IsDiskPresent(&DiskMountInfo[FLOPPY_DISK].DiskArray[DiskNumber]))
UnmountDisk(FLOPPY_DISK, DiskNumber);
}
/* Unmount all the hard disk drives */ /* Unmount all the present hard disk drives */
for (DiskNumber = 0; DiskNumber < DiskMountInfo[HARD_DISK].NumDisks; ++DiskNumber) for (DiskNumber = 0; DiskNumber < DiskMountInfo[HARD_DISK].NumDisks; ++DiskNumber)
UnmountDisk(HARD_DISK, DiskNumber); {
if (IsDiskPresent(&DiskMountInfo[HARD_DISK].DiskArray[DiskNumber]))
UnmountDisk(HARD_DISK, DiskNumber);
}
} }
/* EOF */ /* EOF */