Branch Coverage

MMDB.xs
Criterion Covered Total %
branch 64 104 61.5


line true false branch
50 1 0 data->max_depth = is_ipv6_database(&self->mmdb) ? 128 : 32;
66 0 16 PUSHMARK(SP);
67 0 16 EXTEND(SP, 2);
73 16 0 err_tmp = ERRSV;
74 0 16 if (SvTRUE(err_tmp)) {
79 16 0 if (1 == count) {
88 16 0 FREETMPS;
138 176 11 for (n = 0; n < sizeof(u); ++n) {
176 923 211 for (list = list->next; size > 0 && NULL != list; size--) {
923 0 for (list = list->next; size > 0 && NULL != list; size--) {
177 0 923 if (MMDB_DATA_TYPE_UTF8_STRING != list->entry_data.type) {
184 0 923 if (NULL == list) {
190 0 923 if (MMDB_SUCCESS != *mmdb_error) {
203 58 23 for (list = list->next; size > 0 && NULL != list; size--) {
58 0 for (list = list->next; size > 0 && NULL != list; size--) {
206 0 58 if (MMDB_SUCCESS != *mmdb_error) {
281 0 832 if (!SvOK(data->node_callback)) {
292 0 832 PUSHMARK(SP);
293 0 832 EXTEND(SP, 3);
300 832 0 FREETMPS;
311 0 5 if (!SvOK(data->data_callback)) {
318 5 0 if (MMDB_SUCCESS == mmdb_error) {
323 0 5 if (MMDB_SUCCESS != mmdb_error) {
336 0 5 PUSHMARK(SP);
337 0 5 EXTEND(SP, 3);
345 5 0 FREETMPS;
381 0 832 if (MMDB_SUCCESS != mmdb_error) {
386 0 832 if (depth > data->max_depth) {
420 0 3 if ((items - 1) % 2 != 0) {
424 2 3 for (i = 1; i < items; i += 2) {
427 2 0 if (strEQ(key, "file")) {
432 1 2 if (NULL == file) {
443 1 1 if (MMDB_SUCCESS != mmdb_error) {
481 8 0 if (items > 1) {
484 8 0 if (NULL == ip_address || '\0' == *ip_address) {
0 8 if (NULL == ip_address || '\0' == *ip_address) {
489 1 7 if (0 != gai_error) {
493 0 7 if (MMDB_SUCCESS != mmdb_error) {
497 6 1 if (result.found_entry) {
500 6 0 if (MMDB_SUCCESS == mmdb_error) {
504 0 6 if (MMDB_SUCCESS != mmdb_error) {
509 3 3 if (0 == ix && G_SCALAR != gimme) {
2 1 if (0 == ix && G_SCALAR != gimme) {
511 1 1 if (instr(ip_address, ".") && is_ipv6_database(&self->mmdb)) {
1 0 if (instr(ip_address, ".") && is_ipv6_database(&self->mmdb)) {
519 0 7 XPUSHs(sv_2mortal(data));
520 2 5 if (wants_prefix_length) {
521 0 2 XPUSHs(sv_2mortal(newSVuv(prefix_length)));
535 1 0 if (items > 1) {
537 1 0 if (items > 2) {
556 1 0 if (MMDB_SUCCESS == mmdb_error) {
560 0 1 if (MMDB_SUCCESS != mmdb_error) {