Branch Coverage

lib/Archive/Lha.xs
Criterion Covered Total %
branch 93 158 58.8


line true false branch
48 0 19 PUSHMARK(SP);
49 0 19 XPUSHs(sv_2mortal(newSVpv(queue, len)));
54 19 0 FREETMPS;
68 0 19 PUSHMARK(SP);
69 0 19 XPUSHs(sv_2mortal(newSViv(len)));
73 0 19 if (n != 1)
79 19 0 FREETMPS;
102 3446 6192 while (n > bit->pos) {
105 3408 38 if (stash->encoded_size > 0) {
106 19 3389 if (bit->readpos == 0) {
107 0 19 if (stash->encoded_size > readbuf_size)
114 0 3408 if (bit->readpos == readbuf_size)
176 0 56 if (table->bit > ushort_bit) {
180 896 56 for(i = 1; i <= ushort_bit; i++) {
185 10327 56 for(i = 0; i < nchar; i++)
186 0 10327 if (table->length[i] > ushort_bit) {
193 896 56 for(i = 1; i <= ushort_bit; i++) {
197 0 56 if (total & ushort_max) {
202 524 56 for(i = 1; i <= table->bit; i++) {
209 0 56 if (from)
210 0 0 for(i = from; i < to; i++)
214 10327 56 for(i = 0; i < nchar; i++) {
216 9087 1240 if (bit == 0)
219 1240 0 if (bit <= table->bit) {
221 87296 1240 for(j = start[bit]; j < l; j++)
226 0 0 if ((j >> bits_to_shift) > table->size) {
232 0 0 while (--n >= 0) {
233 0 0 if (*p == 0) {
237 0 0 if (j & ushort_center)
263 1 37 if (n == 0) {
265 14 1 for(i = 0; i < nn; i++)
267 256 1 for(i = 0; i < stash->pt->size; i++)
272 309 37 while (i < min(n, stash->pt->length_size)) {
274 307 2 if (c != 7)
278 0 2 while (stash->bit->value & mask) {
285 290 19 if (i == threshold) {
287 41 19 while (--c >= 0 && i < stash->pt->length_size)
41 0 while (--c >= 0 && i < stash->pt->length_size)
291 287 37 while (i < nn)
304 0 19 if (n == 0) {
306 0 0 for(i = 0; i < stash->c->length_size; i++)
308 0 0 for(i = 0; i < stash->c->size; i++)
313 1564 19 while (i < min(n, stash->c->length_size)) {
315 0 1564 if (c >= stash->NT) {
318 0 0 if (stash->bit->value & mask)
323 0 0 } while (c >= stash->NT && (mask || c != stash->tree->left[c]));
0 0 } while (c >= stash->NT && (mask || c != stash->tree->left[c]));
0 0 } while (c >= stash->NT && (mask || c != stash->tree->left[c]));
326 566 998 if (c <= 2) {
327 376 190 if (c == 0)
329 164 26 else if (c == 1)
333 4672 566 while (--c >= 0)
339 4020 19 while (i < stash->c->length_size)
350 19 3111 if (stash->bit->blocksize == 0) {
358 3130 0 if (j < stash->c->length_size)
364 0 0 if (stash->bit->value & mask)
369 0 0 } while (j >= stash->c->length_size && (mask || j != stash->tree->left[j]));
0 0 } while (j >= stash->c->length_size && (mask || j != stash->tree->left[j]));
0 0 } while (j >= stash->c->length_size && (mask || j != stash->tree->left[j]));
381 443 0 if (j < stash->NP)
387 0 0 if (stash->bit->value & mask)
392 0 0 } while (j >= stash->NP && (mask || j != stash->tree->left[j]));
0 0 } while (j >= stash->NP && (mask || j != stash->tree->left[j]));
0 0 } while (j >= stash->NP && (mask || j != stash->tree->left[j]));
395 441 2 if (j != 0)
409 12183 27 while (len-- > 0)
484 0 19 if ( !hash_exists(self, "read") )
486 0 19 if ( !hash_exists(self, "write") )
509 3130 19 while ( total < stash->original_size ) {
511 2687 443 if (c <= uchar_max) {
513 0 2687 if (loc == dicsize) {
525 5212 443 for(i = 0; i < matchlen; i++) {
527 0 5212 if (loc == dicsize) {
535 19 0 if (loc) {
542 18 1 RETVAL = crc16;
572 9103 239 for (i = offset; i < len; i++)
574 232 7 RETVAL = sum;
583 0 2 if (v == 0) {
594 2 0 RETVAL = (result == (time_t)-1) ? 0 : (IV)result;