| line |
true |
false |
branch |
|
149
|
822 |
48 |
while (likely(buf_end - buf >= 8)) { |
|
151
|
816 |
6 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
790 |
26 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
667 |
123 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
630 |
37 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
152
|
629 |
1 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
624 |
5 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
624 |
0 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
|
345 |
279 |
DOIT(); DOIT(); DOIT(); DOIT(); |
|
156
|
477 |
0 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
|
0 |
477 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
|
0 |
0 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
163
|
0 |
128 |
CHECK_EOF(); |
|
164
|
48 |
80 |
if (unlikely(! IS_PRINTABLE_ASCII(*buf))) { |
|
165
|
48 |
0 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
|
0 |
48 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
|
0 |
0 |
if ((likely((unsigned char)*buf < '\040') && likely(*buf != '\011')) || unlikely(*buf == '\177')) { |
|
171
|
525 |
0 |
if (likely(*buf == '\015')) { |
|
173
|
0 |
525 |
EXPECT_CHAR('\012'); |
|
|
0 |
525 |
EXPECT_CHAR('\012'); |
|
175
|
0 |
0 |
} else if (*buf == '\012') { |
|
191
|
0 |
0 |
buf = last_len < 3 ? buf : buf + last_len - 3; |
|
194
|
0 |
0 |
CHECK_EOF(); |
|
195
|
0 |
0 |
if (*buf == '\015') { |
|
197
|
0 |
0 |
CHECK_EOF(); |
|
198
|
0 |
0 |
EXPECT_CHAR('\012'); |
|
|
0 |
0 |
EXPECT_CHAR('\012'); |
|
200
|
0 |
0 |
} else if (*buf == '\012') { |
|
207
|
0 |
0 |
if (ret_cnt == 2) { |
|
221
|
0 |
0 |
CHECK_EOF(); |
|
|
0 |
151 |
CHECK_EOF(); |
|
222
|
0 |
0 |
if (! ('0' <= *buf && *buf <= '9')) { |
|
|
151 |
0 |
if (! ('0' <= *buf && *buf <= '9')) { |
|
228
|
0 |
0 |
CHECK_EOF(); |
|
|
0 |
302 |
CHECK_EOF(); |
|
229
|
0 |
0 |
if ('0' <= *buf && *buf <= '9') { |
|
|
151 |
151 |
if ('0' <= *buf && *buf <= '9') { |
|
244
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
|
0 |
151 |
EXPECT_CHAR('H'); EXPECT_CHAR('T'); EXPECT_CHAR('T'); EXPECT_CHAR('P'); |
|
245
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
|
0 |
151 |
EXPECT_CHAR('/'); EXPECT_CHAR('1'); EXPECT_CHAR('.'); |
|
255
|
0 |
676 |
CHECK_EOF(); |
|
256
|
150 |
526 |
if (*buf == '\015') { |
|
258
|
0 |
150 |
EXPECT_CHAR('\012'); |
|
|
0 |
150 |
EXPECT_CHAR('\012'); |
|
260
|
0 |
526 |
} else if (*buf == '\012') { |
|
264
|
1 |
525 |
if (*num_headers == max_headers) { |
|
268
|
382 |
143 |
if (! (*num_headers != 0 && (*buf == ' ' || *buf == '\t'))) { |
|
|
380 |
2 |
if (! (*num_headers != 0 && (*buf == ' ' || *buf == '\t'))) { |
|
269
|
0 |
523 |
if (! token_char_map[(unsigned char)*buf]) { |
|
280
|
0 |
523 |
CHECK_EOF(); |
|
283
|
5687 |
523 |
if (*buf == ':') { |
|
285
|
0 |
5687 |
} else if (*buf < ' ') { |
|
290
|
5687 |
0 |
CHECK_EOF(); |
|
295
|
0 |
1046 |
CHECK_EOF(); |
|
296
|
523 |
523 |
if (! (*buf == ' ' || *buf == '\t')) { |
|
304
|
525 |
0 |
if ((buf = get_token_to_eol(buf, buf_end, &headers[*num_headers].value, |
|
321
|
0 |
151 |
CHECK_EOF(); |
|
322
|
0 |
151 |
if (*buf == '\015') { |
|
324
|
0 |
0 |
EXPECT_CHAR('\012'); |
|
|
0 |
0 |
EXPECT_CHAR('\012'); |
|
325
|
0 |
151 |
} else if (*buf == '\012') { |
|
330
|
0 |
151 |
ADVANCE_TOKEN(*method, *method_len); |
|
|
465 |
151 |
ADVANCE_TOKEN(*method, *method_len); |
|
|
0 |
465 |
ADVANCE_TOKEN(*method, *method_len); |
|
|
0 |
0 |
ADVANCE_TOKEN(*method, *method_len); |
|
|
465 |
0 |
ADVANCE_TOKEN(*method, *method_len); |
|
332
|
0 |
151 |
ADVANCE_TOKEN(*path, *path_len); |
|
|
800 |
151 |
ADVANCE_TOKEN(*path, *path_len); |
|
|
0 |
800 |
ADVANCE_TOKEN(*path, *path_len); |
|
|
0 |
0 |
ADVANCE_TOKEN(*path, *path_len); |
|
|
800 |
0 |
ADVANCE_TOKEN(*path, *path_len); |
|
334
|
151 |
0 |
if ((buf = parse_http_version(buf, buf_end, minor_version, ret)) == NULL) { |
|
337
|
151 |
0 |
if (*buf == '\015') { |
|
339
|
0 |
151 |
EXPECT_CHAR('\012'); |
|
|
0 |
151 |
EXPECT_CHAR('\012'); |
|
340
|
0 |
0 |
} else if (*buf == '\012') { |
|
368
|
0 |
151 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
|
0 |
0 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
372
|
1 |
150 |
if ((buf = parse_request(buf, buf_end, method, method_len, path, path_len, |
|
390
|
0 |
0 |
if ((buf = parse_http_version(buf, buf_end, minor_version, ret)) == NULL) { |
|
394
|
0 |
0 |
if (*buf++ != ' ') { |
|
399
|
0 |
0 |
if ((buf = parse_int(buf, buf_end, status, ret)) == NULL) { |
|
403
|
0 |
0 |
if (*buf++ != ' ') { |
|
408
|
0 |
0 |
if ((buf = get_token_to_eol(buf, buf_end, msg, msg_len, ret)) == NULL) { |
|
432
|
0 |
0 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
|
0 |
0 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
436
|
0 |
0 |
if ((buf = parse_response(buf, buf_end, minor_version, status, msg, msg_len, |
|
457
|
0 |
0 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
|
0 |
0 |
if (last_len != 0 && is_complete(buf, buf_end, last_len, &r) == NULL) { |
|
461
|
0 |
0 |
if ((buf = parse_headers(buf, buf_end, headers, num_headers, max_headers, &r)) |
|
480
|
0 |
0 |
if ('0' <= ch && ch <= '9') { |
|
482
|
0 |
0 |
} else if ('A' <= ch && ch <= 'F') { |
|
484
|
0 |
0 |
} else if ('a' <= ch && ch <= 'f') { |
|
502
|
0 |
0 |
if (src == bufsz) |
|
504
|
0 |
0 |
if ((v = decode_hex(buf[src])) == -1) { |
|
505
|
0 |
0 |
if (decoder->_hex_count == 0) { |
|
511
|
0 |
0 |
if (decoder->_hex_count == sizeof(size_t) * 2) { |
|
524
|
0 |
0 |
if (src == bufsz) |
|
526
|
0 |
0 |
if (buf[src] == '\012') |
|
530
|
0 |
0 |
if (decoder->bytes_left_in_chunk == 0) { |
|
531
|
0 |
0 |
if (decoder->consume_trailer) { |
|
543
|
0 |
0 |
if (avail < decoder->bytes_left_in_chunk) { |
|
544
|
0 |
0 |
if (dst != src) |
|
551
|
0 |
0 |
if (dst != src) |
|
561
|
0 |
0 |
if (src == bufsz) |
|
563
|
0 |
0 |
if (buf[src] != '\015') |
|
566
|
0 |
0 |
if (buf[src] != '\012') { |
|
575
|
0 |
0 |
if (src == bufsz) |
|
577
|
0 |
0 |
if (buf[src] != '\015') |
|
580
|
0 |
0 |
if (buf[src++] == '\012') |
|
586
|
0 |
0 |
if (src == bufsz) |
|
588
|
0 |
0 |
if (buf[src] == '\012') |
|
602
|
0 |
0 |
if (dst != src) |