1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

cbor: introduce cbor_serialize_byte_stringl

This commit is contained in:
Lucio Torre 2015-09-15 00:31:58 -03:00 committed by Oleg Hahm
parent f6db56929f
commit 04fc0b35a7
2 changed files with 18 additions and 2 deletions

View File

@ -404,8 +404,9 @@ static size_t decode_bytes(const cbor_stream_t *s, size_t offset, char *out, siz
}
/* A zero copy version of decode_bytes.
Will not null termiante input, but tell you the size of what you read.
Great for reading byte strings which could contain nulls inside
Will not null termiante input, but will tell you the size of what you read.
Great for reading byte strings which could contain nulls inside of unknown size
without forced copies.
*/
static size_t decode_bytes_no_copy(const cbor_stream_t *s, size_t offset, unsigned char **out, size_t *length)
{
@ -640,6 +641,11 @@ size_t cbor_serialize_byte_string(cbor_stream_t *stream, const char *val)
return encode_bytes(CBOR_BYTES, stream, val, strlen(val));
}
size_t cbor_serialize_byte_stringl(cbor_stream_t *stream, const char *val, size_t length)
{
return encode_bytes(CBOR_BYTES, stream, val, length);
}
size_t cbor_deserialize_unicode_string(const cbor_stream_t *stream, size_t offset, char *val,
size_t length)
{

View File

@ -365,6 +365,16 @@ size_t cbor_deserialize_double(const cbor_stream_t *stream, size_t offset,
*/
size_t cbor_serialize_byte_string(cbor_stream_t *stream, const char *val);
/**
* @brief Serializes an arbitrary byte string
*
* @param[out] stream The destination stream for serializing the byte stream
* @param[in] val The arbitrary byte string which may include null bytes
* @param[in] length The size of the byte string in bytes
*
* @return Number of bytes written to stream @p stream
*/
size_t cbor_serialize_byte_stringl(cbor_stream_t *stream, const char *val, size_t length);
/**
* @brief Deserialize bytes from @p stream to @p val