MINOR: buf: add b_rel_ofs() to turn an absolute offset into a relative one

It basically does the opposite of b_peek_ofs(). If x=b_peek_ofs(y), then
y=b_rel_ofs(x).
This commit is contained in:
Willy Tarreau 2023-02-23 09:52:58 +01:00
parent 15e47b6a59
commit c5004ccb36

View File

@ -103,6 +103,15 @@ static inline size_t b_add_ofs(const struct buffer *b, size_t ofs, size_t count)
return ofs;
}
/* b_rel_ofs() : take an absolute offset in the buffer, and return it relative
* to the buffer's head for use with b_peek().
*/
static inline size_t b_rel_ofs(const struct buffer *b, size_t ofs)
{
if (ofs < b->head)
ofs += b->size;
return ofs - b->head;
}
/* b_stop() : returns the pointer to the byte following the end of the buffer,
* which may be out of the buffer if the buffer ends on the last byte of the