Branch Coverage

MD5.xs
Criterion Covered Total %
branch 57 128 44.5


line true false branch
399 204526 8448 } while (--blocks);
433 0 211568 if (ctx->bytes_low < len) /* wrap around */
436 204239 7329 if (fill) {
438 201124 3115 if (len < missing) {
449 3872 6572 if (blocks)
451 4561 5883 if ( (len &= 0x3F)) {
461 1291 170 STRLEN padlen = (fill < 56 ? 56 : 120) - fill;
505 0 61772 if (!sv_derived_from(sv, "Digest::MD5"))
508 61772 0 for (mg = SvMAGIC(SvRV(sv)); mg; mg = mg->mg_moremagic) {
509 61772 0 if (mg->mg_type == PERL_MAGIC_ext
510 61772 0 && mg->mg_virtual == (const MGVTBL * const)&vtbl_md5) {
548 18848 1178 while (from < end) {
568 9 45 if (from == end) {
628 1174 0 if (!SvROK(xclass)) {
630 1174 0 const char *sclass = SvPV(xclass, my_na);
667 149384 58511 for (i = 1; i < items; i++) {
669 149383 1 data = (unsigned char *)(SvPVbyte(ST(i), len));
671 0 149384 if (had_utf8) sv_utf8_upgrade(ST(i));
689 899 1 if (fh) {
694 0 899 if (fill) {
700 0 0 if ( (n = PerlIO_read(fh, buffer, missing)) > 0)
707 3660 899 while ( (n = PerlIO_read(fh, buffer, sizeof(buffer))) > 0) {
713 0 899 if (PerlIO_error(fh)) {
744 0 0 if (items > 2) {
746 0 0 unsigned long blocks = SvUV(ST(1));
747 0 0 unsigned char *buf = (unsigned char *)(SvPV(ST(2), len));
754 0 0 if (items == 4) {
755 0 0 buf = (unsigned char *)(SvPV(ST(3), len));
759 0 0 } else if (items != 1) {
768 0 0 EXTEND(SP, 3);
773 0 0 if ((ctx->bytes_low & 0x3F) == 0)
795 274 11 if ((PL_dowarn & G_WARN_ON) || ckWARN(WARN_SYNTAX)) {
271 3 if ((PL_dowarn & G_WARN_ON) || ckWARN(WARN_SYNTAX)) {
797 275 7 if (items == 1) {
798 0 275 if (SvROK(ST(0))) {
801 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)))
802 0 0 && strEQ(name, "Digest::MD5"))
808 7 0 else if (items > 1) {
809 7 0 data = (unsigned char *)SvPV(ST(0), len);
810 3 4 if (len == 11 && memEQ("Digest::MD5", data, 11)) {
3 0 if (len == 11 && memEQ("Digest::MD5", data, 11)) {
813 0 4 else if (SvROK(ST(0))) {
816 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)))
817 0 0 && strEQ(name, "Digest::MD5"))
821 3 279 if (msg) {
822 3 0 const char *f = (ix == F_BIN) ? "md5" :
3 0 const char *f = (ix == F_BIN) ? "md5" :
828 58525 284 for (i = 0; i < items; i++) {
830 58522 3 data = (unsigned char *)(SvPVbyte(ST(i), len));
832 2 58522 if (had_utf8) sv_utf8_upgrade(ST(i));