Browse Source

cbor: add API to encode non null-terminated byte strings

dev/timer
Tobias Markmann 8 years ago
parent
commit
f5418fa666
  1. 5
      sys/cbor/cbor.c
  2. 11
      sys/include/cbor.h

5
sys/cbor/cbor.c

@ -576,6 +576,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)
{

11
sys/include/cbor.h

@ -370,6 +370,17 @@ 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