mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
Merge remote-tracking branch 'github/master'
This commit is contained in:
commit
25fe382981
26
buffer.c
26
buffer.c
@ -1373,21 +1373,17 @@ evbuffer_search_eol(struct evbuffer *buffer,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVBUFFER_EOL_CRLF:
|
case EVBUFFER_EOL_CRLF:
|
||||||
while (1) {
|
// Is a LF
|
||||||
if (evbuffer_find_eol_char(&it) < 0)
|
if (evbuffer_strchr(&it, '\n') < 0)
|
||||||
goto done;
|
goto done;
|
||||||
if (evbuffer_getchr(&it) == '\n') {
|
extra_drain = 1;
|
||||||
extra_drain = 1;
|
// Optionally preceeded by a CR
|
||||||
break;
|
if (it.pos < 1) break;
|
||||||
} else if (!evbuffer_ptr_memcmp(
|
memcpy(&it2, &it, sizeof(it));
|
||||||
buffer, &it, "\r\n", 2)) {
|
if (evbuffer_ptr_set(buffer, &it2, it2.pos - 1, EVBUFFER_PTR_SET)<0) break;
|
||||||
extra_drain = 2;
|
if (evbuffer_getchr(&it2) == '\r') {
|
||||||
break;
|
memcpy(&it, &it2, sizeof(it));
|
||||||
} else {
|
extra_drain = 2;
|
||||||
if (evbuffer_ptr_set(buffer, &it, 1,
|
|
||||||
EVBUFFER_PTR_ADD)<0)
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EVBUFFER_EOL_LF:
|
case EVBUFFER_EOL_LF:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user