# HG changeset patch # User Matti Hamalainen # Date 1700885063 -7200 # Node ID 1c80099fe47edb8e2da2cd4dc051d816f3ee4f21 # Parent 8386c5e55a313b5a2cb2efcc2858a351ab943581 Cleanup CDHP decoder slightly. diff -r 8386c5e55a31 -r 1c80099fe47e tools/lib64fmts.c --- a/tools/lib64fmts.c Sun Nov 19 19:39:52 2023 +0200 +++ b/tools/lib64fmts.c Sat Nov 25 06:04:23 2023 +0200 @@ -1556,12 +1556,12 @@ static int fmtDecodeCosmosDesignsHiresManagerPacked(DMC64Image *img, const DMGrowBuf *psrc, const DMC64ImageFormat *fmt) { - int res; - DMGrowBuf tmp; - Uint8 data, *dstBuf; const size_t baseAddr = 0x4000; const size_t dstSize = 0x8000 - baseAddr; - size_t dstOffs, srcOffs, ncount; + DMGrowBuf tmp; + Uint8 *dstBuf; + size_t dstOffs, srcOffs; + int res; // Allocate output buffer if ((dstBuf = dmMalloc0(dstSize)) == NULL) @@ -1577,7 +1577,8 @@ while (dstOffs > 0 && srcOffs > 0) { // Get one byte of data - data = psrc->data[srcOffs]; + Uint8 data = psrc->data[srcOffs]; + size_t ncount; // Current data byte tells us the mode if (data == 0) @@ -1594,7 +1595,7 @@ data = psrc->data[--srcOffs]; if (dstOffs < ncount) - goto finish; + break;; dstOffs -= ncount; @@ -1621,8 +1622,6 @@ } } -finish: - // Fixups that the original decoder does, not necessary really dstBuf[0x7ff0 - baseAddr] = 0x03; dstBuf[0x7ffe - baseAddr] = dstBuf[4];