summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2021-05-30 23:38:00 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2021-05-30 23:39:01 (GMT)
commit3a9cf58a75c87b9046c1646a97b798508619fd62 (patch)
tree285cca5be6ec31fe50ef2298e6c3c6f295eeb6b9
parent3c493d4cd2c9e91a2cee08c80e3629ea75788605 (diff)
Provide a way to merge packed buffers.
-rw-r--r--src/common/packed.c26
-rw-r--r--src/common/packed.h3
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 *);