Browse Source

cbor: introduce cbor_serialize_byte_stringl

pr/spi.typo
Lucio Torre 7 years ago committed by Oleg Hahm
parent
commit
04fc0b35a7
  1. 10
      sys/cbor/cbor.c
  2. 10
      sys/include/cbor.h

10
sys/cbor/cbor.c

@ -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)
{

10
sys/include/cbor.h

@ -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

Loading…
Cancel
Save