diff options
author | tg <tg@FreeBSD.org> | 2001-05-22 11:32:38 +0000 |
---|---|---|
committer | tg <tg@FreeBSD.org> | 2001-05-22 11:32:38 +0000 |
commit | 5ff7125205d6bc2e304a05588debfcfcd0af6087 (patch) | |
tree | 3a6fa6fecba6f1aaf1f6647d0a4ed4348b5d2d0b /usr.bin/doscmd/int13.c | |
parent | 21dff572d91ac1f56a2170c85a07cfedd5eab1be (diff) | |
download | FreeBSD-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/int13.c')
-rw-r--r-- | usr.bin/doscmd/int13.c | 5 |
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); |