Branch Coverage

MD5.xs
Criterion Covered Total %
branch 57 128 44.5


line true false branch
371 204382 8400 } while (--blocks);
405 0 208421 if (ctx->bytes_low < len) /* wrap around */
408 201140 7281 if (fill) {
410 198073 3067 if (len < missing) {
421 3872 6476 if (blocks)
423 4513 5835 if ( (len &= 0x3F)) {
433 1291 170 STRLEN padlen = (fill < 56 ? 56 : 120) - fill;
465 0 60723 if (!sv_derived_from(sv, "Digest::MD5"))
468 60723 0 for (mg = SvMAGIC(SvRV(sv)); mg; mg = mg->mg_moremagic) {
469 60723 0 if (mg->mg_type == PERL_MAGIC_ext
470 60723 0 && mg->mg_virtual == (const MGVTBL * const)&vtbl_md5) {
508 18848 1178 while (from < end) {
528 9 45 if (from == end) {
588 1174 0 if (!SvROK(xclass)) {
590 1174 0 const char *sclass = SvPV(xclass, my_na);
627 147286 57462 for (i = 1; i < items; i++) {
629 147285 1 data = (unsigned char *)(SvPVbyte(ST(i), len));
631 0 147286 if (had_utf8) sv_utf8_upgrade(ST(i));
649 899 1 if (fh) {
654 0 899 if (fill) {
660 0 0 if ( (n = PerlIO_read(fh, buffer, missing)) > 0)
667 3660 899 while ( (n = PerlIO_read(fh, buffer, sizeof(buffer))) > 0) {
673 0 899 if (PerlIO_error(fh)) {
704 0 0 if (items > 2) {
706 0 0 unsigned long blocks = SvUV(ST(1));
707 0 0 unsigned char *buf = (unsigned char *)(SvPV(ST(2), len));
714 0 0 if (items == 4) {
715 0 0 buf = (unsigned char *)(SvPV(ST(3), len));
719 0 0 } else if (items != 1) {
728 0 0 EXTEND(SP, 3);
733 0 0 if ((ctx->bytes_low & 0x3F) == 0)
755 274 11 if ((PL_dowarn & G_WARN_ON) || ckWARN(WARN_SYNTAX)) {
271 3 if ((PL_dowarn & G_WARN_ON) || ckWARN(WARN_SYNTAX)) {
757 275 7 if (items == 1) {
758 0 275 if (SvROK(ST(0))) {
761 0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
762 0 0 && strEQ(name, "Digest::MD5"))
768 7 0 else if (items > 1) {
769 7 0 data = (unsigned char *)SvPV(ST(0), len);
770 3 4 if (len == 11 && memEQ("Digest::MD5", data, 11)) {
3 0 if (len == 11 && memEQ("Digest::MD5", data, 11)) {
773 0 4 else if (SvROK(ST(0))) {
776 0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
0 0 if (SvOBJECT(sv) && (name = HvNAME(SvSTASH(sv)))
777 0 0 && strEQ(name, "Digest::MD5"))
781 3 279 if (msg) {
782 3 0 const char *f = (ix == F_BIN) ? "md5" :
3 0 const char *f = (ix == F_BIN) ? "md5" :
788 57476 284 for (i = 0; i < items; i++) {
790 57473 3 data = (unsigned char *)(SvPVbyte(ST(i), len));
792 2 57473 if (had_utf8) sv_utf8_upgrade(ST(i));