insure bpb_huge is initialized (zeroed) [merge from dev kernel]

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1119 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Kenneth J Davis 2005-03-06 16:12:34 +00:00
parent 84d34e61c0
commit e501067d7b

View File

@ -603,12 +603,15 @@ void DosDefinePartition(struct DriveParamS *driveParam,
pddt->ddt_defbpb.bpb_mdesc = 0xf8; pddt->ddt_defbpb.bpb_mdesc = 0xf8;
pddt->ddt_defbpb.bpb_nheads = driveParam->chs.Head; pddt->ddt_defbpb.bpb_nheads = driveParam->chs.Head;
pddt->ddt_defbpb.bpb_nsecs = driveParam->chs.Sector; pddt->ddt_defbpb.bpb_nsecs = driveParam->chs.Sector;
pddt->ddt_defbpb.bpb_nsize = 0;
pddt->ddt_defbpb.bpb_hidden = pEntry->RelSect; pddt->ddt_defbpb.bpb_hidden = pEntry->RelSect;
if (pEntry->NumSect > 0xffff)
pddt->ddt_defbpb.bpb_huge = pEntry->NumSect; pddt->ddt_defbpb.bpb_nsize = 0;
else pddt->ddt_defbpb.bpb_huge = pEntry->NumSect;
if (pEntry->NumSect <= 0xffff)
{
pddt->ddt_defbpb.bpb_nsize = (UWORD) (pEntry->NumSect); pddt->ddt_defbpb.bpb_nsize = (UWORD) (pEntry->NumSect);
pddt->ddt_defbpb.bpb_huge = 0; /* may still be set on Win95 */
}
/* sectors per cluster, sectors per FAT etc. */ /* sectors per cluster, sectors per FAT etc. */
CalculateFATData(pddt, pEntry->NumSect, pEntry->FileSystem); CalculateFATData(pddt, pEntry->NumSect, pEntry->FileSystem);