--- 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;