From e501067d7b4533989675f5136df64f40eb57fb9f Mon Sep 17 00:00:00 2001 From: Kenneth J Davis Date: Sun, 6 Mar 2005 16:12:34 +0000 Subject: [PATCH] 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 --- kernel/initdisk.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kernel/initdisk.c b/kernel/initdisk.c index 3cc8010..b9b5b3b 100644 --- a/kernel/initdisk.c +++ b/kernel/initdisk.c @@ -603,12 +603,15 @@ void DosDefinePartition(struct DriveParamS *driveParam, pddt->ddt_defbpb.bpb_mdesc = 0xf8; pddt->ddt_defbpb.bpb_nheads = driveParam->chs.Head; pddt->ddt_defbpb.bpb_nsecs = driveParam->chs.Sector; - pddt->ddt_defbpb.bpb_nsize = 0; pddt->ddt_defbpb.bpb_hidden = pEntry->RelSect; - if (pEntry->NumSect > 0xffff) - pddt->ddt_defbpb.bpb_huge = pEntry->NumSect; - else + + pddt->ddt_defbpb.bpb_nsize = 0; + pddt->ddt_defbpb.bpb_huge = pEntry->NumSect; + if (pEntry->NumSect <= 0xffff) + { 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. */ CalculateFATData(pddt, pEntry->NumSect, pEntry->FileSystem);