Branch Coverage

Scan.xs
Criterion Covered Total %
branch 63 84 75.0


line true false branch
103 1128 225 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
1127 1 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
104 4933 0 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
4031 902 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
108 225 3806 if (!strcasecmp(audio_types[i].suffix[j], suffix)) {
116 225 1 if (typeindex > -1) {
117 1114 0 for (hdl = taghandlers; hdl->type; ++hdl)
118 225 889 if (!strcmp(hdl->type, audio_types[typeindex].type))
137 18 0 audio_offset = SvIV(*(my_hv_fetch(info, "audio_offset")));
138 18 0 audio_size = SvIV(*(my_hv_fetch(info, "audio_size")));
140 17 1 if (!start_offset) {
144 6 11 if (start_offset < audio_offset)
148 7 11 if (size >= audio_size) {
154 0 18 if (PerlIO_seek(infile, start_offset, SEEK_SET) < 0) {
159 32 18 while (size > 0) {
160 0 32 if ( !_check_buf(infile, &buf, 1, MIN(size, MD5_BUFFER_SIZE)) ) {
174 288 18 for (di = 0; di < 16; ++di)
201 193 3 if (stat(file, &buf) != -1) {
228 196 0 if (hdl) {
232 83 113 if ( !hdl->get_fileinfo ) {
236 113 83 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
98 15 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
240 196 0 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
179 17 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
247 19 177 if ( md5_size > 0
248 19 0 && my_hv_exists(info, "audio_offset")
249 19 0 && my_hv_exists(info, "audio_size")
250 18 1 && !my_hv_exists(info, "audio_md5")
277 23 0 if (hdl && hdl->find_frame) {
23 0 if (hdl && hdl->find_frame) {
292 4 0 if (hdl && hdl->find_frame_return_info) {
4 0 if (hdl && hdl->find_frame_return_info) {
314 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)) {
331 1 0 if (suff == NULL || *suff == '\0') {
0 1 if (suff == NULL || *suff == '\0') {
336 0 1 if (hdl == NULL) {
355 13 1 for (i = 0; audio_types[i].type; i++) {
371 1 0 for (i = 0; audio_types[i].type; i++) {
375 1 0 if (!strcasecmp(audio_types[i].type, t)) {
378 11 1 for (j = 0; audio_types[i].suffix[j]; j++) {