Branch Coverage

Scan.xs
Criterion Covered Total %
branch 63 84 75.0


line true false branch
100 1019 217 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
1018 1 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
101 4622 0 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
3821 801 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
105 217 3604 if (!strcasecmp(audio_types[i].suffix[j], suffix)) {
113 217 1 if (typeindex > -1) {
114 1006 0 for (hdl = taghandlers; hdl->type; ++hdl)
115 217 789 if (!strcmp(hdl->type, audio_types[typeindex].type))
134 11 0 audio_offset = SvIV(*(my_hv_fetch(info, "audio_offset")));
135 11 0 audio_size = SvIV(*(my_hv_fetch(info, "audio_size")));
137 10 1 if (!start_offset) {
141 5 5 if (start_offset < audio_offset)
145 6 5 if (size >= audio_size) {
151 0 11 if (PerlIO_seek(infile, start_offset, SEEK_SET) < 0) {
156 25 11 while (size > 0) {
157 0 25 if ( !_check_buf(infile, &buf, 1, MIN(size, MD5_BUFFER_SIZE)) ) {
171 176 11 for (di = 0; di < 16; ++di)
198 185 3 if (stat(file, &buf) != -1) {
225 188 0 if (hdl) {
229 75 113 if ( !hdl->get_fileinfo ) {
233 113 75 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
98 15 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
237 188 0 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
171 17 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
244 12 176 if ( md5_size > 0
245 12 0 && my_hv_exists(info, "audio_offset")
246 12 0 && my_hv_exists(info, "audio_size")
247 11 1 && !my_hv_exists(info, "audio_md5")
274 23 0 if (hdl && hdl->find_frame) {
23 0 if (hdl && hdl->find_frame) {
289 4 0 if (hdl && hdl->find_frame_return_info) {
4 0 if (hdl && hdl->find_frame_return_info) {
311 2 0 if (suffix != NULL && *suffix == '.' && _get_taghandler(suffix + 1)) {
2 0 if (suffix != NULL && *suffix == '.' && _get_taghandler(suffix + 1)) {
1 1 if (suffix != NULL && *suffix == '.' && _get_taghandler(suffix + 1)) {
328 1 0 if (suff == NULL || *suff == '\0') {
0 1 if (suff == NULL || *suff == '\0') {
333 0 1 if (hdl == NULL) {
352 12 1 for (i = 0; audio_types[i].type; i++) {
368 1 0 for (i = 0; audio_types[i].type; i++) {
372 1 0 if (!strcasecmp(audio_types[i].type, t)) {
375 11 1 for (j = 0; audio_types[i].suffix[j]; j++) {