Branch Coverage

inc/CryptX_Cipher.xs.inc
Criterion Covered Total %
branch 54 88 61.3


line true false branch
20 0 3637 if (idx + 1 > items) croak("FATAL: missing argument");
23 1134 2503 if (idx + 3 <= items) rounds = (int)SvIV(ST(idx + 2));
1128 6 if (idx + 3 <= items) rounds = (int)SvIV(ST(idx + 2));
25 0 3637 if (!SvPOK (key)) croak("FATAL: key must be string scalar");
26 3637 0 key_data = (unsigned char *)SvPVbyte(key, key_len);
29 0 3637 if (id == -1) croak("FATAL: find_cipfer failed for '%s'", cipher_name);
32 0 3637 if (!RETVAL) croak("FATAL: Newz failed");
36 0 3637 if (rv != CRYPT_OK) {
55 122708 0 void *plaintext = SvPVbyte(data, len);
57 0 122708 if (len == 0) {
60 122708 0 else if (len == (STRLEN)self->desc->block_length) {
65 0 122708 if (rv!=CRYPT_OK) {
83 684 0 void *ciphertext = SvPVbyte(data, len);
85 0 684 if (len == 0) {
88 684 0 else if (len == (STRLEN)self->desc->block_length) {
93 0 684 if (rv!=CRYPT_OK) {
109 61 173 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
61 0 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
110 61 0 IV tmp = SvIV((SV*)SvRV(param));
115 173 0 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
108 65 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
117 0 173 if (id == -1) croak("FATAL: find_cipher failed for '%s'", name);
119 0 173 if (!rv) croak("FATAL: invalid block_length for '%s'", name);
130 111 200 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
111 0 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
131 111 0 IV tmp = SvIV((SV*)SvRV(param));
136 200 0 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
150 50 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
138 0 200 if (id == -1) croak("FATAL: find_cipher failed for '%s'", name);
140 0 200 if (!rv) croak("FATAL: invalid max_key_length for '%s'", name);
151 50 100 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
50 0 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
152 50 0 IV tmp = SvIV((SV*)SvRV(param));
157 100 0 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
75 25 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
159 0 100 if (id == -1) croak("FATAL: find_cipher failed for '%s'", name);
161 0 100 if (!rv) croak("FATAL: invalid min_key_length for '%s'", name);
172 50 100 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
50 0 if (sv_isobject(param) && sv_derived_from(param, "Crypt::Cipher")) {
173 50 0 IV tmp = SvIV((SV*)SvRV(param));
178 100 0 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
75 25 char *name = SvPOK(param) && strcmp(SvPVX(param), "Crypt::Cipher") ? SvPVX(param) : extra;
180 0 100 if (id == -1) croak("FATAL: find_cipher failed for '%s'", name);
182 0 100 if (!rv) XSRETURN_UNDEF;