Branch Coverage

decode.c
Criterion Covered Total %
branch 59 82 71.9


line true false branch
40 17 265 if (unpack_bytes(aTHX_ input, len, pos, &bytes, &bytes_len) != 0) {
132 0 15 if (UNLIKELY(len != 8))
153 0 4 if (UNLIKELY(len != 8))
168 0 4 if (UNLIKELY(len != 4))
183 0 34 if (UNLIKELY(len != 4))
198 0 15 if (UNLIKELY(len != 2))
208 0 20 if (UNLIKELY(len != 1))
223 0 14 if (UNLIKELY(len != 1))
226 9 5 if (*input)
234 3 8 if (len == 4) {
239 8 0 } else if (len == 16) {
260 0 8 if (UNLIKELY(len < 4))
264 0 8 if (UNLIKELY(num_elements < 0))
274 16 8 for (i = 0; i < num_elements; i++) {
284 0 3 if (UNLIKELY(len != 16))
301 0 6 if (UNLIKELY(len < 5))
309 3 3 if (bytes_or_scale.scale != 0) {
311 2 1 if (bytes_or_scale.scale > 0) {
322 0 88 if (UNLIKELY(len <= 0)) {
324 20 68 } else if (len == 1) {
326 15 53 } else if (len == 2) {
328 2 51 } else if (len == 3) {
331 1 1 if (input[0] & 0x80) {
337 32 19 } else if (len == 4) {
340 1 18 } else if (len < 8) {
342 0 1 memset(bytes, (input[0] & 0x80) ? 0xff : 0, 8);
345 14 4 } else if (len == 8) {
357 65 4 for (i = 0; i < len; i++) {
376 0 192 if (mod < 0)
386 0 64 if (UNLIKELY(len != 4))
418 0 48 if (UNLIKELY(len != 8))
424 48 0 if (UNLIKELY(bytes_or_bigint.bigint < 0 || bytes_or_bigint.bigint > 86399999999999))
0 48 if (UNLIKELY(bytes_or_bigint.bigint < 0 || bytes_or_bigint.bigint > 86399999999999))
435 96 48 while (result[pvlen-1] == '0')
437 0 48 if (result[pvlen-1] == '.')
498 0 4 if (UNLIKELY(len < 4))
502 0 4 if (UNLIKELY(num_elements < 0))
512 8 4 for (i = 0; i < num_elements; i++) {
544 1 1 for (i = 0; i < udt->field_count; i++) {
545 0 1 if (len == pos) {
579 4 2 for (i = 0; i < tuple->field_count; i++) {