Branch Coverage

Scan.xs
Criterion Covered Total %
branch 61 82 74.3


line true false branch
106 1406 263 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
1405 1 for (i=0; typeindex==-1 && audio_types[i].type; i++) {
107 5929 0 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
4787 1142 for (j=0; typeindex==-1 && audio_types[i].suffix[j]; j++) {
111 263 4524 if (!strcasecmp(audio_types[i].suffix[j], suffix)) {
119 263 1 if (typeindex > -1) {
120 1391 0 for (hdl = taghandlers; hdl->type; ++hdl)
121 263 1128 if (!strcmp(hdl->type, audio_types[typeindex].type))
143 18 1 if (!start_offset) {
147 7 11 if (start_offset < audio_offset)
151 8 11 if (size >= audio_size) {
157 0 19 if (PerlIO_seek(infile, start_offset, SEEK_SET) < 0) {
162 33 19 while (size > 0) {
163 0 33 if ( !_check_buf(infile, &buf, 1, MIN(size, MD5_BUFFER_SIZE)) ) {
177 304 19 for (di = 0; di < 16; ++di)
204 205 3 if (stat(file, &buf) != -1) {
231 208 0 if (hdl) {
235 87 121 if ( !hdl->get_fileinfo ) {
239 121 87 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
104 17 if ( hdl->get_fileinfo && (filter & FILTER_TYPE_INFO) ) {
243 208 0 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
191 17 if ( hdl->get_tags && (filter & FILTER_TYPE_TAGS) ) {
250 20 188 if ( md5_size > 0
251 20 0 && my_hv_exists(info, "audio_offset")
252 20 0 && my_hv_exists(info, "audio_size")
253 19 1 && !my_hv_exists(info, "audio_md5")
280 47 0 if (hdl && hdl->find_frame) {
47 0 if (hdl && hdl->find_frame) {
295 6 0 if (hdl && hdl->find_frame_return_info) {
6 0 if (hdl && hdl->find_frame_return_info) {
306 0 0 RETVAL = 1;
317 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)) {
334 1 0 if (suff == NULL || *suff == '\0') {
0 1 if (suff == NULL || *suff == '\0') {
339 0 1 if (hdl == NULL) {
358 14 1 for (i = 0; audio_types[i].type; i++) {
374 1 0 for (i = 0; audio_types[i].type; i++) {
378 1 0 if (!strcasecmp(audio_types[i].type, t)) {
381 11 1 for (j = 0; audio_types[i].suffix[j]; j++) {