From 3a9cf58a75c87b9046c1646a97b798508619fd62 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Mon, 31 May 2021 01:38:00 +0200 Subject: Provide a way to merge packed buffers. --- src/common/packed.c | 26 ++++++++++++++++++++++++++ src/common/packed.h | 3 +++ 2 files changed, 29 insertions(+) diff --git a/src/common/packed.c b/src/common/packed.c index 117b557..d246de8 100644 --- a/src/common/packed.c +++ b/src/common/packed.c @@ -166,6 +166,32 @@ void copy_packed_buffer(packed_buffer_t *dest, const packed_buffer_t *src) /****************************************************************************** * * +* Paramètres : dest = tampon de données à constituer. * +* src = tampon de données à copier. * +* * +* Description : Inclut les données d'un tampon dans un autre. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool include_packed_buffer(packed_buffer_t *dest, const packed_buffer_t *src) +{ + bool result; /* Bilan à retourner */ + + assert(src->allocated >= (sizeof(uint32_t) + src->used)); + + result = extend_packed_buffer(dest, src->data + sizeof(uint32_t), src->used, false); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : pbuf = paquet de données à consulter. * * * * Description : Indique le nombre d'octets de la charge utile d'un paquet. * diff --git a/src/common/packed.h b/src/common/packed.h index f43b999..8158bb4 100644 --- a/src/common/packed.h +++ b/src/common/packed.h @@ -65,6 +65,9 @@ void exit_packed_buffer(packed_buffer_t *); /* Copie les données d'un tampon dans un autre. */ void copy_packed_buffer(packed_buffer_t *, const packed_buffer_t *); +/* Inclut les données d'un tampon dans un autre. */ +bool include_packed_buffer(packed_buffer_t *, const packed_buffer_t *); + /* Indique le nombre d'octets de la charge utile d'un paquet. */ size_t get_packed_buffer_payload_length(const packed_buffer_t *); -- cgit v0.11.2-87-g4458