Branch Coverage

src/xh_reader.c
Criterion Covered Total %
branch 11 174 6.3


line true false branch
9 0 16 if (encoding[0] != '\0')
18 0 16 if (reader->encoder != NULL)
28 8 0 if (xh_strcasecmp(encoding, XH_INTERNAL_ENCODING) == 0) {
30 0 8 if (reader->encoder != NULL) {
37 0 0 if (reader->encoder == NULL) {
42 0 0 if (reader->encoder == NULL) {
48 0 0 if (len != NULL && *len > 0) {
0 0 if (len != NULL && *len > 0) {
54 0 0 else if (xh_strcasecmp(encoding, reader->encoder->fromcode) != 0) {
69 16 0 str = XH_CHAR_CAST SvPV(input, len);
111 0 0 if (preserve == NULL) {
117 0 0 if (*off) {
127 0 0 if (preserve != NULL && xh_buffer_start(enc_buf) != old_buf_addr) {
0 0 if (preserve != NULL && xh_buffer_start(enc_buf) != old_buf_addr) {
133 0 0 while (enc_buf->cur < enc_buf->end) {
134 0 0 if (reader->fake_read_pos != NULL) {
142 0 0 if (src_left == 0 && reader->encoder->state == XH_ENC_OK) {
0 0 if (src_left == 0 && reader->encoder->state == XH_ENC_OK) {
143 0 0 if (main_buf->cur == main_buf->end)
156 0 0 switch (reader->encoder->state) {
158 0 0 if (src_left == 0)
184 8 0 : xh_string_reader_read_with_encoding;
200 0 0 reader->file = XH_CHAR_CAST SvPV_nolen(input);
205 0 0 if (reader->fd == -1) {
209 0 0 if (fstat(reader->fd, &sb) == -1) {
215 0 0 if (sb.st_size == 0) {
240 0 0 if ((caddr_t) reader->str == (caddr_t) (-1)) {
256 0 0 if (reader->fd == -1) return;
265 0 0 if (munmap(reader->str, reader->len) == -1) {
271 0 0 if (close(reader->fd) == -1) {
318 0 0 if (preserve == NULL) {
324 0 0 if (*off) {
336 0 0 if (preserve != NULL && main_buf->start != old_buf_addr) {
0 0 if (preserve != NULL && main_buf->start != old_buf_addr) {
342 0 0 if (len == (size_t) (-1)) {
365 0 0 if (preserve == NULL) {
371 0 0 if (*off) {
381 0 0 if (preserve != NULL && enc_buf->start != old_buf_addr) {
0 0 if (preserve != NULL && enc_buf->start != old_buf_addr) {
387 0 0 while (enc_buf->cur < enc_buf->end) {
390 0 0 if (reader->fake_read_pos == NULL) {
399 0 0 if (src_left == 0) {
400 0 0 if (main_buf->cur == main_buf->end)
404 0 0 if (src_left == (size_t) (-1))
415 0 0 switch (reader->encoder->state) {
417 0 0 if (src_left == 0)
445 0 0 : xh_file_reader_read_with_encoding;
464 0 0 if (reader->main_buf.start != NULL)
479 0 0 PUSHMARK(SP);
480 0 0 XPUSHs(obj);
481 0 0 XPUSHs(buf);
482 0 0 XPUSHs(sv_2mortal(newSViv(count)));
483 0 0 XPUSHs(sv_2mortal(newSViv(offset)));
490 0 0 if (nparam) {
491 0 0 len = POPi;
497 0 0 FREETMPS;
516 0 0 if (reader->perl_buf.scalar != NULL)
531 0 0 if (preserve == NULL) {
537 0 0 if (*off) {
554 0 0 if (preserve != NULL && main_buf->start != old_buf_addr) {
0 0 if (preserve != NULL && main_buf->start != old_buf_addr) {
560 0 0 if (len == (size_t) (-1)) {
584 0 0 if (preserve == NULL) {
590 0 0 if (*off) {
600 0 0 if (preserve != NULL && enc_buf->start != old_buf_addr) {
0 0 if (preserve != NULL && enc_buf->start != old_buf_addr) {
606 0 0 while (enc_buf->cur < enc_buf->end) {
609 0 0 if (reader->fake_read_pos == NULL) {
618 0 0 if (src_left == 0) {
619 0 0 if (main_buf->cur == main_buf->end)
623 0 0 if (src_left == (size_t) (-1))
634 0 0 switch (reader->encoder->state) {
636 0 0 if (src_left == 0)
664 0 0 : xh_perl_obj_reader_read_with_encoding;
677 16 0 if (SvTYPE(input) != SVt_PVGV) {
678 16 0 str = XH_CHAR_CAST SvPV(input, len);
679 0 16 if (len == 0)
683 16 0 if (xh_str_is_xml(str)) {
709 0 0 io = GvIO(gv);
0 0 io = GvIO(gv);
0 0 io = GvIO(gv);
0 0 io = GvIO(gv);
711 0 0 if (!io)
714 0 0 if ((mg = SvTIED_mg(MUTABLE_SV(io), PERL_MAGIC_tiedscalar))) {
0 0 if ((mg = SvTIED_mg(MUTABLE_SV(io), PERL_MAGIC_tiedscalar))) {
717 0 0 reader->perl_obj = SvTIED_obj(MUTABLE_SV(io), mg);
742 16 0 if (reader->destroy != NULL)