MINOR: buffer: add b_end() and b_to_end()

These ones return respectively the pointer to the end of the buffer and
the distance between b->p and the end. These will simplify a bit some
new code needed to parse directly from a wrapping buffer.
This commit is contained in:
Willy Tarreau 2017-09-19 21:14:08 +02:00
parent 4a6425d373
commit 26488ad358

View File

@ -79,6 +79,18 @@ void buffer_slow_realign(struct buffer *buf);
__ret; \
})
/* Returns the pointer to the buffer's end (data+size) */
static inline const char *b_end(const struct buffer *b)
{
return b->data + b->size;
}
/* Returns the distance between <p> and the buffer's end (data+size) */
static inline unsigned int b_to_end(const struct buffer *b)
{
return b->data + b->size - b->p;
}
/* Skips <del> bytes in a one-way buffer <b> : <p> advances by <del>, <i>
* shrinks by <del> as well, and <o> is left untouched (supposed to be zero).
* The caller is responsible for ensuring that <del> is always smaller than or