Branch Coverage

search-tools.c
Criterion Covered Total %
branch 134 282 47.5


line true false branch
76 0 2397 if (ok == NULL) {
129 0 6629 if (ok == NULL) {
141 0 0 if (ok == NULL) {
155 0 48 if (ok == NULL) {
203 0 15494 if (ptr == NULL) {
223 0 12450 if (!len) {
264 0 12450 if (tok->ref_cnt != 0) {
275 0 48 if (token_list->ref_cnt != 0) {
284 0 48 if (SvREFCNT(token_list->tokens)) {
290 0 48 if (SvREFCNT(token_list->heat)) {
296 0 48 if (SvREFCNT(token_list->sentence_starts)) {
319 0 0 while (pos < len) {
330 0 0 warn(" str = '%s'\n", SvPV_nolen(tok->str));
355 12691 0 return INT2PTR( void*, SvIV(SvRV( object )) );
404 0 0 if (SvTYPE(SvRV(ref))==SVt_PVHV) {
408 0 0 for (i = 0; i < num_keys; i++) {
413 0 0 warn(" %s => %s [%d]\n",
0 0 warn(" %s => %s [%d]\n",
417 0 0 else if (SvTYPE(SvRV(ref))==SVt_PVAV) {
423 0 0 while (pos < len) {
438 0 0 str = SvPV_nolen( object );
439 0 0 if (SvROK(object))
441 0 0 if (SvTYPE(SvRV(object))==SVt_PVHV)
443 0 0 else if (SvTYPE(SvRV(object))==SVt_PVMG)
445 0 0 else if (SvTYPE(SvRV(object))==SVt_IV)
453 0 0 if (sv_isobject(object))
472 622 0 bytes = SvPV(str, len);
481 58973 406 for(i=0; i
482 252 58721 if (str[i] >= 0x80) {
515 0 5619 if (rx == NULL) {
534 123 5423 if ( pregexec(rx, buf, str_end, buf, 1, token->str, 1) ) {
535 123 0 if (ST_DEBUG > 1) {
0 123 if (ST_DEBUG > 1) {
559 25 0 buf = SvPV(str, str_len);
564 96 25 while ( pregexec(rx, buf, str_end, buf, 1, str, 1) ) {
619 48 0 buf = SvPV(str, str_len);
631 43 5 if (heat_seeker != NULL && (SvTYPE(SvRV(heat_seeker))==SVt_PVCV)) {
12 31 if (heat_seeker != NULL && (SvTYPE(SvRV(heat_seeker))==SVt_PVCV)) {
635 48 0 if (ST_DEBUG) {
0 48 if (ST_DEBUG) {
639 6233 48 while ( pregexec(rx, buf, str_end, buf, 1, str, 1) ) {
661 6192 41 if (start_ptr != str_start && start_ptr != prev_end) {
6181 11 if (start_ptr != str_start && start_ptr != prev_end) {
666 6181 0 token_str = SvPV_nolen(token->str);
676 7 6174 if (!inside_sentence) {
677 0 7 if (num_tokens == 1
678 0 0 ||
685 6075 99 else if (!prev_was_abbrev
686 184 5891 &&
692 0 6181 if (st_is_abbreviation((unsigned char*)token_str, token->len)) {
700 6181 0 if (ST_DEBUG > 1) {
0 6181 if (ST_DEBUG > 1) {
708 7 6174 if (token->is_sentence_start) {
720 6233 0 token_str = SvPV_nolen(token->str);
722 225 6008 if (!inside_sentence) {
727 6008 0 else if (!prev_was_abbrev
728 0 6008 &&
734 99 6134 if (st_is_abbreviation((unsigned char*)token_str, token->len)) {
742 6233 0 if (ST_DEBUG > 1) {
0 6233 if (ST_DEBUG > 1) {
750 6109 124 if (heat_seeker != NULL) {
751 563 5546 if (heat_seeker_is_CV) {
755 0 563 PUSHMARK(SP);
756 0 563 XPUSHs(tok);
758 0 563 if (call_sv(heat_seeker, G_SCALAR) != 1) {
762 563 0 token->is_hot = POPi;
765 563 0 FREETMPS;
773 225 6008 if (token->is_sentence_start) {
777 192 6041 if (token->is_hot) {
779 192 0 if (ST_DEBUG)
0 192 if (ST_DEBUG)
791 36 12 if (prev_end != str_end) {
798 36 0 token_str = SvPV_nolen(token->str);
799 0 36 if (st_looks_like_sentence_start((unsigned char*)token_str, token->len)) {
802 19 17 else if (st_looks_like_sentence_end((unsigned char*)token_str, token->len)) {
805 36 0 if (ST_DEBUG > 1) {
0 36 if (ST_DEBUG > 1) {
831 5 0 bytes = (U8*)SvPV(str, len);
833 3 2 if (is_utf8_string(bytes, len)) {
850 113 6 for (i = 0, j = 0; s[i] != '\0'; i++)
851 110 3 if (s[i] == '<' || s[i] == '>')
3 107 if (s[i] == '<' || s[i] == '>')
853 3 104 else if (s[i] == '&')
855 103 1 else if (s[i] == '"' || s[i] == '\'')
0 103 else if (s[i] == '"' || s[i] == '\'')
858 4 2 if (j == 0)
863 50 2 for (i = 0, j = 0; s[i] != '\0'; i++, j++)
864 3 47 if (s[i] == '<') {
868 3 44 else if (s[i] == '>') {
872 3 41 else if (s[i] == '&') {
876 1 40 else if (s[i] == '"') {
880 0 40 else if (s[i] == '\'') {
930 36 0 if (ST_DEBUG > 1)
0 36 if (ST_DEBUG > 1)
934 36 0 if (st_char_is_ascii((unsigned char*)ptr, len)) {
940 16 20 if (len > 1) {
941 0 16 if (isUPPER(ptr[0]) && !isUPPER(ptr[1])) {
0 0 if (isUPPER(ptr[0]) && !isUPPER(ptr[1])) {
953 0 0 if (!len) {
962 0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
0 0 u8len = is_utf8_char_buf((const U8*)ptr, (const U8*)ptr+UTF8SKIP(ptr));
968 0 0 if (ST_DEBUG > 1)
0 0 if (ST_DEBUG > 1)
973 0 0 if (ST_DEBUG > 1)
0 0 if (ST_DEBUG > 1)
976 0 0 if (iswupper((wint_t)u32pt)) {
979 0 0 if (u32pt == 191) { /* INVERTED QUESTION MARK */
1003 12119 0 if (ST_DEBUG > 1)
0 12119 if (ST_DEBUG > 1)
1006 47914 12073 for (i=0; i
1026 3 12070 if (num_dots > 1 && num_dots < len) {
3 0 if (num_dots > 1 && num_dots < len) {
1029 157 11913 else if (num_dots == 1) {
1046 9650 2996 while (s < send) {
1071 6538 5876 if (len < 2 || len > 5) {
3542 2996 if (len < 2 || len > 5) {
1075 17 2979 if (ST_ABBREVS == NULL) {
1079 2397 17 while(en_abbrevs[i] != NULL) {