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 *); | 
