diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2021-05-30 23:38:00 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2021-05-30 23:39:01 (GMT) |
commit | 3a9cf58a75c87b9046c1646a97b798508619fd62 (patch) | |
tree | 285cca5be6ec31fe50ef2298e6c3c6f295eeb6b9 | |
parent | 3c493d4cd2c9e91a2cee08c80e3629ea75788605 (diff) |
Provide a way to merge packed buffers.
-rw-r--r-- | src/common/packed.c | 26 | ||||
-rw-r--r-- | src/common/packed.h | 3 |
2 files changed, 29 insertions, 0 deletions
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 *); |