cbor: introduce cbor_serialize_byte_stringl
This commit is contained in:
parent
f6db56929f
commit
04fc0b35a7
@ -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.
|
/* A zero copy version of decode_bytes.
|
||||||
Will not null termiante input, but tell you the size of what you read.
|
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
|
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)
|
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));
|
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 cbor_deserialize_unicode_string(const cbor_stream_t *stream, size_t offset, char *val,
|
||||||
size_t length)
|
size_t length)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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);
|
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
|
* @brief Deserialize bytes from @p stream to @p val
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user