--- dump-0.4b37/dump/tape.c.2TB 2004-07-07 13:07:29.000000000 +0200 +++ dump-0.4b37/dump/tape.c 2005-08-22 09:57:45.000000000 +0200 @@ -475,10 +475,14 @@ } blks = 0; - if (spcl.c_type != TS_END) { - for (i = 0; i < spcl.c_count; i++) - if (spcl.c_addr[i] != 0) - blks++; + if (spcl.c_type == TS_CLRI || spcl.c_type == TS_BITS) { + blks = spcl.c_count; + } else { + if (spcl.c_type != TS_END) { + for (i = 0; i < spcl.c_count; i++) + if (spcl.c_addr[i] != 0) + blks++; + } } slp->count = lastspclrec + blks + 1 - spcl.c_tapea; slp->tapea = spcl.c_tapea;