Fix broken 140K DOS3.3 disk archives created by old GSHK.

Version upped to v1.0.1.
This commit is contained in:
Andy McFadden 2000-05-23 01:59:41 +00:00
parent 5615fa90d4
commit 342e08493b
3 changed files with 21 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2000/05/22 ***** v1.0.1 shipped *****
2000/05/22 fadden
- added workaround for buggy 140K DOS3.3 GSHK images
2000/05/18 ***** v1.0.0 shipped *****
2000/05/18 fadden

View File

@ -219,8 +219,21 @@ Nu_ReadThreadHeaders(NuArchive* pArchive, NuRecord* pRecord, ushort* pCrc)
{
if (pRecord->recStorageType <= 13) {
/* supposed to be block size, but SHK v3.0.1 stored it wrong */
pThread->actualThreadEOF =
pRecord->recExtraType * 512;
pThread->actualThreadEOF = pRecord->recExtraType * 512;
} else if (pRecord->recStorageType == 256 &&
pRecord->recExtraType == 280 &&
pRecord->recFileSysID == kNuFileSysDOS33)
{
/*
* Fix for less-common ShrinkIt problem: looks like an old
* version of GS/ShrinkIt used 256 as the block size when
* compressing DOS 3.3 images from 5.25" disks. If that
* appears to be the case here, crank up the block size.
*/
DBUG(("--- no such thing as a 70K disk image!\n"));
pThread->actualThreadEOF = pRecord->recExtraType * 512;
} else {
pThread->actualThreadEOF =
pRecord->recExtraType * pRecord->recStorageType;

View File

@ -13,7 +13,7 @@
/* version number; edit by hand */
static const long gNuMajorVersion = 1;
static const long gNuMinorVersion = 0;
static const long gNuBugVersion = 0;
static const long gNuBugVersion = 1;
/* executable was build on or after this date (inserted automatically) */
static const char gNuBuildDate[] = "BUILT"; /* approximate */