| line |
true |
false |
branch |
|
143
|
0 |
0 |
if (100 <= code && code <= 199) { |
|
146
|
0 |
0 |
else if (200 <= code && code <= 299) { |
|
149
|
0 |
0 |
else if (300 <= code && code <= 399) { |
|
152
|
0 |
0 |
else if (400 <= code && code <= 499) { |
|
165
|
86 |
39 |
for (i = 0; i != len; ++i, ++s) |
|
|
76 |
39 |
for (i = 0; i != len; ++i, ++s) |
|
166
|
84 |
2 |
if (*s == ch) |
|
|
74 |
2 |
if (*s == ch) |
|
176
|
2 |
196 |
if (header->name_len != len) |
|
178
|
26 |
2 |
for (x = header->name, y = name; len != 0; --len, ++x, ++y) |
|
179
|
20 |
6 |
if (TOU(*x) != *y) |
|
|
26 |
0 |
if (TOU(*x) != *y) |
|
194
|
41 |
0 |
(void)SvUPGRADE(dst, SVt_PV); |
|
195
|
41 |
0 |
d = SvGROW(dst, src_len * 3 + 1); |
|
|
41 |
0 |
d = SvGROW(dst, src_len * 3 + 1); |
|
197
|
66 |
39 |
for (i = 0; i < src_len; i++ ) { |
|
198
|
4 |
62 |
if ( src[i] == '%' ) { |
|
199
|
4 |
0 |
if ( !isxdigit(src[i+1]) || !isxdigit(src[i+2]) ) { |
|
|
2 |
2 |
if ( !isxdigit(src[i+1]) || !isxdigit(src[i+2]) ) { |
|
204
|
0 |
2 |
s2 -= s2 <= '9' ? '0' |
|
|
0 |
0 |
s2 -= s2 <= '9' ? '0' |
|
207
|
0 |
2 |
s3 -= s3 <= '9' ? '0' |
|
|
0 |
0 |
s3 -= s3 <= '9' ? '0' |
|
251
|
1 |
41 |
if (ret < 0) |
|
253
|
0 |
41 |
if (minor_version > 1 || minor_version < 0 ) { |
|
268
|
2 |
39 |
if ( store_path_info(aTHX_ env, path, question_at) < 0 ) { |
|
273
|
2 |
37 |
if (question_at != path_len) ++question_at; |
|
277
|
69 |
38 |
for (i = 0; i < num_headers; ++i) { |
|
278
|
67 |
2 |
if (headers[i].name != NULL) { |
|
282
|
66 |
1 |
if (header_is(headers + i, "CONTENT-TYPE", sizeof("CONTENT-TYPE") - 1)) { |
|
285
|
1 |
65 |
} else if (header_is(headers + i, "CONTENT-LENGTH", sizeof("CONTENT-LENGTH") - 1)) { |
|
286
|
0 |
1 |
if (seen_content_length) { |
|
293
|
0 |
1 |
if (seen_transfer_encoding) { |
|
302
|
0 |
65 |
} else if (header_is(headers + i, "TRANSFER-ENCODING", sizeof("TRANSFER-ENCODING") - 1)) { |
|
303
|
0 |
0 |
if (seen_transfer_encoding ) { |
|
310
|
0 |
0 |
if (seen_content_length) { |
|
324
|
1 |
64 |
if (sizeof(tmp) - 5 < headers[i].name_len) { |
|
331
|
1453 |
64 |
n != 0; |
|
333
|
1423 |
30 |
*d = *s == '-' ? '_' : TOU(*s); |
|
|
1330 |
93 |
*d = *s == '-' ? '_' : TOU(*s); |
|
339
|
0 |
66 |
if ( !slot ) croak("ERROR: failed to create hash entry"); |
|
340
|
2 |
64 |
if (SvOK(*slot)) { |
|
361
|
115 |
0 |
if (SvGAMAGIC(sv)) |
|
|
0 |
115 |
if (SvGAMAGIC(sv)) |
|
|
0 |
0 |
if (SvGAMAGIC(sv)) |
|
|
0 |
0 |
if (SvGAMAGIC(sv)) |
|
393
|
0 |
38 |
if ( do_select == 1) goto WAIT_WRITE; |
|
396
|
38 |
0 |
if ( rv >= 0 ) { |
|
399
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
407
|
0 |
0 |
if ( nfound == 1 ) { |
|
410
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
426
|
46 |
0 |
rv = read(fileno, read_buf, read_len); |
|
427
|
46 |
0 |
if ( rv >= 0 ) { |
|
430
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
436
|
0 |
0 |
if ( nfound == 1 ) { |
|
439
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
454
|
0 |
0 |
if ( rv >= 0 ) { |
|
457
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
|
0 |
0 |
if ( rv < 0 && errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK ) { |
|
465
|
0 |
0 |
if ( nfound == 1 ) { |
|
468
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
|
0 |
0 |
if ( nfound == 0 && errno != EINTR ) { |
|
480
|
74 |
37 |
for ( i=0; i
|
|
|
8 |
1 |
for ( i=0; i
|
|
|
111 |
37 |
for ( i=0; i
|
|
|
111 |
37 |
for ( i=0; i
|
|
495
|
335 |
223 |
} while( dlen >= *dst_len ); |
|
540
|
29 |
29 |
while ( l > 0 ) { |
|
548
|
29 |
29 |
while ( len > 0 ) { |
|
641
|
13480 |
46 |
if (fd < 0) { |
|
647
|
4 |
42 |
if ( rv <= 0 ) { |
|
654
|
42 |
0 |
if ( tcp == 1 ) { |
|
669
|
4 |
38 |
if ( reqlen >= 0 ) { |
|
672
|
4 |
0 |
else if ( reqlen == -1 ) { |
|
677
|
0 |
0 |
if ( MAX_HEADER_SIZE - buf_len == 0 ) { |
|
687
|
0 |
0 |
if ( rv <= 0 ) { |
|
696
|
0 |
38 |
if (expect_val != NULL) { |
|
697
|
0 |
0 |
if ( strncmp(SvPV_nolen(*expect_val), "100-continue", SvCUR(*expect_val)) == 0 ) { |
|
699
|
0 |
0 |
if ( rv <= 0 ) { |
|
734
|
0 |
0 |
if (!SvROK(rbuf)) croak("ERROR: buf must be RV"); |
|
736
|
0 |
0 |
if (!SvOK(buf)) { |
|
739
|
0 |
0 |
SvUPGRADE(buf, SVt_PV); |
|
745
|
0 |
0 |
d = SvGROW(buf, buf_len + len + 1); |
|
|
0 |
0 |
d = SvGROW(buf, buf_len + len + 1); |
|
747
|
0 |
0 |
SvCUR_set(buf, (rv > 0) ? rv + buf_len : buf_len); |
|
750
|
0 |
0 |
if (rv < 0) XSRETURN_UNDEF; |
|
751
|
0 |
0 |
RETVAL = (unsigned long)rv; |
|
766
|
0 |
0 |
SvUPGRADE(buf, SVt_PV); |
|
769
|
0 |
0 |
if (rv < 0) XSRETURN_UNDEF; |
|
770
|
0 |
0 |
RETVAL = (unsigned long)rv; |
|
791
|
0 |
0 |
if ( !SvOK(buf) ) { |
|
795
|
0 |
0 |
SvUPGRADE(buf, SVt_PV); |
|
798
|
0 |
0 |
if ( buf_len == 0 ){ |
|
815
|
0 |
0 |
while ( remain > 0 ) { |
|
818
|
0 |
0 |
if ( rv <= 0 ) { |
|
824
|
0 |
0 |
while ( rv > 0 ) { |
|
825
|
0 |
0 |
if ( (unsigned int)rv >= v[vec_offset].iov_len ) { |
|
839
|
0 |
0 |
if (rv < 0) XSRETURN_UNDEF; |
|
840
|
0 |
0 |
RETVAL = (unsigned long)written; |
|
856
|
0 |
0 |
if ( !SvOK(buf) ) { |
|
860
|
0 |
0 |
SvUPGRADE(buf, SVt_PV); |
|
863
|
0 |
0 |
if ( buf_len == 0 ) { |
|
868
|
0 |
0 |
while ( buf_len > written ) { |
|
870
|
0 |
0 |
if ( rv <= 0 ) { |
|
875
|
0 |
0 |
if (rv < 0) XSRETURN_UNDEF; |
|
876
|
0 |
0 |
RETVAL = (unsigned long)written; |
|
906
|
1 |
0 |
STRLEN val_len = 0; |
|
908
|
0 |
1 |
if( (av_len(headers)+1) % 2 == 1 ) croak("ERROR: Odd number of element in header"); |
|
935
|
2 |
1 |
while (i < av_len(headers) + 1 ) { |
|
962
|
1 |
1 |
while ( remain > 0 ) { |
|
965
|
0 |
1 |
if ( rv <= 0 ) { |
|
971
|
10 |
1 |
while ( rv > 0 ) { |
|
972
|
10 |
0 |
if ( (unsigned int)rv >= iv[vec_offset].iov_len ) { |
|
986
|
0 |
1 |
if (rv < 0) XSRETURN_UNDEF; |
|
987
|
0 |
1 |
RETVAL = (unsigned long) written; |
|
1017
|
37 |
0 |
STRLEN key_len = 0; |
|
1027
|
0 |
37 |
if( (av_len(headers)+1) % 2 == 1 ) croak("ERROR: Odd number of element in header"); |
|
1032
|
37 |
0 |
if ( status_code < 200 || status_code == 204 || status_code == 304 ) { |
|
|
37 |
0 |
if ( status_code < 200 || status_code == 204 || status_code == 304 ) { |
|
1036
|
29 |
8 |
if ( use_chunked > 0 ) { |
|
1074
|
37 |
37 |
while ( i < av_len(headers) + 1 ) { |
|
1078
|
0 |
37 |
if ( strncasecmp(key,"Connection",key_len) == 0 ) { |
|
1086
|
0 |
37 |
if ( strncasecmp(key,"Date",key_len) == 0 ) { |
|
1088
|
0 |
0 |
for ( s=val, n = val_len, d=date_line+sizeof("Date: ")-1; n !=0; s++, --n, d++) { |
|
1097
|
0 |
37 |
} else if ( strncasecmp(key,"Server",key_len) == 0 ) { |
|
1099
|
0 |
0 |
for ( s=val, n = val_len, d=server_line+sizeof("Server: ")-1; n !=0; s++, --n, d++) { |
|
1107
|
37 |
0 |
} else if ( strncasecmp(key,"Content-Length",key_len) == 0 || strncasecmp(key,"Transfer-Encoding",key_len) == 0) { |
|
|
0 |
37 |
} else if ( strncasecmp(key,"Content-Length",key_len) == 0 || strncasecmp(key,"Transfer-Encoding",key_len) == 0) { |
|
1126
|
37 |
0 |
if ( date_pushed == 0 ) { |
|
1131
|
29 |
8 |
if ( use_chunked > 0 ) { |
|
1142
|
37 |
37 |
for (i=0; i < av_len(body) + 1; i++ ) { |
|
1144
|
0 |
37 |
if (!SvOK(*b)) { |
|
1148
|
0 |
37 |
if ( val_len < 1 ) { |
|
1151
|
29 |
8 |
if ( use_chunked ) { |
|
1160
|
29 |
8 |
if ( use_chunked ) { |
|
1167
|
29 |
8 |
if ( use_chunked && ix == 0 ) { |
|
1176
|
37 |
37 |
while ( remain > 0 ) { |
|
1179
|
0 |
37 |
if ( rv <= 0 ) { |
|
1185
|
449 |
37 |
while ( rv > 0 ) { |
|
1186
|
449 |
0 |
if ( (unsigned int)rv >= v[vec_offset].iov_len ) { |
|
1201
|
0 |
37 |
if (rv < 0) XSRETURN_UNDEF; |
|
1202
|
13 |
24 |
RETVAL = (unsigned long) written; |