summaryrefslogtreecommitdiffstats
path: root/usr.bin/doscmd
diff options
context:
space:
mode:
authortg <tg@FreeBSD.org>2001-05-22 11:32:38 +0000
committertg <tg@FreeBSD.org>2001-05-22 11:32:38 +0000
commit5ff7125205d6bc2e304a05588debfcfcd0af6087 (patch)
tree3a6fa6fecba6f1aaf1f6647d0a4ed4348b5d2d0b /usr.bin/doscmd
parent21dff572d91ac1f56a2170c85a07cfedd5eab1be (diff)
downloadFreeBSD-src-5ff7125205d6bc2e304a05588debfcfcd0af6087.zip
FreeBSD-src-5ff7125205d6bc2e304a05588debfcfcd0af6087.tar.gz
Fix slice handling. Add 6 (`big' DOS partition) as a legal systemID.
Diffstat (limited to 'usr.bin/doscmd')
-rw-r--r--usr.bin/doscmd/int13.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/doscmd/int13.c b/usr.bin/doscmd/int13.c
index ded17c85..7873b0c 100644
--- a/usr.bin/doscmd/int13.c
+++ b/usr.bin/doscmd/int13.c
@@ -235,14 +235,15 @@ init_hdisk(int drive, int cyl, int head, int tracksize, char *file, char *fake_p
for (fd = 0; fd < 4; ++fd) {
if (*(u_short *)(di->sector0 + 0x1FE) == 0xAA55 &&
ptab[fd].numSectors == head * tracksize * cyl &&
- (ptab[fd].systemID == 1 || ptab[fd].systemID == 4))
+ (ptab[fd].systemID == 1 || ptab[fd].systemID == 4 ||
+ ptab[fd].systemID == 6))
break;
}
if (fd < 4) {
if (fd)
memcpy(ptab, ptab + fd, sizeof(PTAB));
memset(ptab + 1, 0, sizeof(PTAB) * 3);
- di->offset = ptab[fd].relSector;
+ di->offset = ptab[0].relSector;
di->cylinders += di->offset / cylsize(di);
} else {
memset(ptab, 0, sizeof(PTAB) * 4);
OpenPOWER on IntegriCloud