mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
MINOR: chunk: add chunk_cpy() and chunk_cat()
Sometimes we need to concatenate constant chunks to existing ones, but no function currently exists to do this easily, hence these two new ones.
This commit is contained in:
parent
9fa267dada
commit
c1f40b38a6
@ -96,6 +96,28 @@ static inline void chunk_initstr(struct buffer *chk, const char *str)
|
|||||||
chk->size = 0; /* mark it read-only */
|
chk->size = 0; /* mark it read-only */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* copies chunk <src> into <chk>. Returns 0 in case of failure. */
|
||||||
|
static inline int chunk_cpy(struct buffer *chk, const struct buffer *src)
|
||||||
|
{
|
||||||
|
if (unlikely(src->data >= chk->size))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
chk->data = src->data;
|
||||||
|
memcpy(chk->area, src->area, src->data);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* appends chunk <src> after <chk>. Returns 0 in case of failure. */
|
||||||
|
static inline int chunk_cat(struct buffer *chk, const struct buffer *src)
|
||||||
|
{
|
||||||
|
if (unlikely(chk->data + src->data >= chk->size))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
memcpy(chk->area + chk->data, src->area, src->data);
|
||||||
|
chk->data += src->data;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* copies memory area <src> into <chk> for <len> bytes. Returns 0 in
|
/* copies memory area <src> into <chk> for <len> bytes. Returns 0 in
|
||||||
* case of failure. No trailing zero is added.
|
* case of failure. No trailing zero is added.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user