line |
true |
false |
branch |
47
|
6779 |
49 |
for ( max = ptr + len ; ptr < max; ++ptr ) { |
48
|
1 |
6778 |
if ( ! *ptr ) continue; /* skip \0 so we can parse binaries strings */ |
49
|
36 |
6742 |
if ( *ptr == line_feed ) continue; /* ignore \r */ |
54
|
522 |
6220 |
if ( found_comment ) { |
55
|
36 |
486 |
if ( *ptr == eol ) found_comment = 0; |
59
|
2098 |
4122 |
if ( (need_field == 0 && found_sep) || (need_field && found_sep == need_field) ) { |
|
1984 |
114 |
if ( (need_field == 0 && found_sep) || (need_field && found_sep == need_field) ) { |
|
4122 |
1984 |
if ( (need_field == 0 && found_sep) || (need_field && found_sep == need_field) ) { |
|
101 |
4021 |
if ( (need_field == 0 && found_sep) || (need_field && found_sep == need_field) ) { |
60
|
198 |
17 |
if ( *ptr == ' ' || *ptr == '\t' ) continue; |
|
0 |
198 |
if ( *ptr == ' ' || *ptr == '\t' ) continue; |
61
|
100 |
98 |
if (need_field == 0) found_sep = 0; |
68
|
331 |
5872 |
if ( found_eol ) { /* starting a line */ |
70
|
331 |
0 |
if ( *ptr == ' ' || *ptr == '\t' || *ptr == line_feed ) |
|
331 |
0 |
if ( *ptr == ' ' || *ptr == '\t' || *ptr == line_feed ) |
|
0 |
331 |
if ( *ptr == ' ' || *ptr == '\t' || *ptr == line_feed ) |
72
|
36 |
295 |
if ( *ptr == comment ) { |
86
|
990 |
5177 |
if ( *ptr == sep ) { |
88
|
730 |
260 |
if (need_field) ++found_sep; |
89
|
234 |
756 |
if ( !end_key ) { |
91
|
100 |
134 |
if ( !need_field) found_sep = 1; |
94
|
730 |
260 |
if ( need_field && found_sep == need_field + 2 ) { |
|
80 |
650 |
if ( need_field && found_sep == need_field + 2 ) { |
99
|
277 |
4900 |
} else if ( *ptr == eol ) { /* only handle the line once we reach a \n */ |
126
|
142 |
135 |
__PARSE_STRING_LINE_FIELD |
|
62 |
80 |
__PARSE_STRING_LINE_FIELD |
|
197 |
0 |
__PARSE_STRING_LINE_FIELD |
|
277 |
0 |
__PARSE_STRING_LINE_FIELD |
|
0 |
277 |
__PARSE_STRING_LINE_FIELD |
|
216 |
61 |
__PARSE_STRING_LINE_FIELD |
|
187 |
36 |
__PARSE_STRING_LINE_FIELD |
|
164 |
23 |
__PARSE_STRING_LINE_FIELD |
|
6 |
158 |
__PARSE_STRING_LINE_FIELD |
|
1 |
157 |
__PARSE_STRING_LINE_FIELD |
|
0 |
157 |
__PARSE_STRING_LINE_FIELD |
|
180 |
36 |
__PARSE_STRING_LINE_FIELD |
|
157 |
23 |
__PARSE_STRING_LINE_FIELD |
134
|
18 |
31 |
if ( start_key ) { |
135
|
0 |
18 |
__PARSE_STRING_LINE_FIELD |
|
0 |
0 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
0 |
18 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
0 |
18 |
__PARSE_STRING_LINE_FIELD |
|
0 |
18 |
__PARSE_STRING_LINE_FIELD |
|
0 |
18 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
|
18 |
0 |
__PARSE_STRING_LINE_FIELD |
147
|
50 |
0 |
if ( sv && SvPOK(sv) ) { |
|
50 |
0 |
if ( sv && SvPOK(sv) ) { |
149
|
1 |
49 |
if ( items > 2 ) |
151
|
25 |
24 |
if ( items == 2 ) { |
153
|
0 |
25 |
if ( !SvOK(sv_field) || !SvIOK(sv_field) ) |
|
0 |
0 |
if ( !SvOK(sv_field) || !SvIOK(sv_field) ) |
|
0 |
0 |
if ( !SvOK(sv_field) || !SvIOK(sv_field) ) |
|
0 |
25 |
if ( !SvOK(sv_field) || !SvIOK(sv_field) ) |
155
|
25 |
0 |
field = SvIV(sv_field); |