mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-11 13:24:43 -04:00
Tweaks to return types with end-of-buf ptrs
This commit is contained in:
parent
7aeb2fd4ca
commit
9ab8ab83cd
12
buffer.c
12
buffer.c
@ -1297,7 +1297,7 @@ evbuffer_strspn(
|
|||||||
size_t i = ptr->_internal.pos_in_chain;
|
size_t i = ptr->_internal.pos_in_chain;
|
||||||
|
|
||||||
if (!chain)
|
if (!chain)
|
||||||
return -1;
|
return 0;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
char *buffer = (char *)chain->buffer + chain->misalign;
|
char *buffer = (char *)chain->buffer + chain->misalign;
|
||||||
@ -1328,16 +1328,16 @@ evbuffer_strspn(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline char
|
static inline int
|
||||||
evbuffer_getchr(struct evbuffer_ptr *it)
|
evbuffer_getchr(struct evbuffer_ptr *it)
|
||||||
{
|
{
|
||||||
struct evbuffer_chain *chain = it->_internal.chain;
|
struct evbuffer_chain *chain = it->_internal.chain;
|
||||||
size_t off = it->_internal.pos_in_chain;
|
size_t off = it->_internal.pos_in_chain;
|
||||||
|
|
||||||
if (chain == NULL)
|
if (chain == NULL)
|
||||||
return -1; /* XXX Better invalid char value? */
|
return -1;
|
||||||
|
|
||||||
return chain->buffer[chain->misalign + off];
|
return (unsigned char)chain->buffer[chain->misalign + off];
|
||||||
}
|
}
|
||||||
|
|
||||||
struct evbuffer_ptr
|
struct evbuffer_ptr
|
||||||
@ -1352,6 +1352,8 @@ evbuffer_search_eol(struct evbuffer *buffer,
|
|||||||
/* Avoid locking in trivial edge cases */
|
/* Avoid locking in trivial edge cases */
|
||||||
if (start && start->_internal.chain == NULL) {
|
if (start && start->_internal.chain == NULL) {
|
||||||
it.pos = -1;
|
it.pos = -1;
|
||||||
|
it._internal.chain = NULL;
|
||||||
|
it._internal.pos_in_chain = 0;
|
||||||
if (eol_len_out)
|
if (eol_len_out)
|
||||||
*eol_len_out = extra_drain;
|
*eol_len_out = extra_drain;
|
||||||
return it;
|
return it;
|
||||||
@ -2300,7 +2302,7 @@ evbuffer_ptr_subtract(struct evbuffer *buf, struct evbuffer_ptr *pos,
|
|||||||
{
|
{
|
||||||
if (howfar > (size_t)pos->pos)
|
if (howfar > (size_t)pos->pos)
|
||||||
return -1;
|
return -1;
|
||||||
if (howfar <= pos->_internal.pos_in_chain) {
|
if (pos->_internal.chain && howfar <= pos->_internal.pos_in_chain) {
|
||||||
pos->_internal.pos_in_chain -= howfar;
|
pos->_internal.pos_in_chain -= howfar;
|
||||||
pos->pos -= howfar;
|
pos->pos -= howfar;
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user