5.12.3 Buffer¶
The SerdBuffer type represents a writable area of memory with a known size.
An implementation of SerdWriteFunc, SerdErrorFunc, and SerdCloseFunc are provided which allow output to be written to a buffer in memory instead of to a file as with fwrite, ferror, and fclose.
-
struct SerdBuffer¶
A mutable buffer in memory.
-
void *buf¶
Buffer.
-
size_t len¶
Size of buffer in bytes.
-
void *buf¶
-
struct SerdDynamicBuffer¶
A dynamically resizable mutable buffer in memory.
-
SerdAllocator *allocator¶
Allocator for buf.
-
void *buf¶
Buffer.
-
size_t len¶
Size of buffer in bytes.
-
SerdAllocator *allocator¶
-
size_t serd_buffer_write(const void *buf, size_t size, size_t nmemb, void *stream)¶
A function for writing to a buffer, resizing it if necessary.
This function can be used as a
SerdWriteFuncto write to aSerdDynamicBufferwhich is reallocated as necessary. Thestreamparameter must point to an initializedSerdDynamicBuffer.Note that when writing a string, the string in the buffer will not be null-terminated until
serd_buffer_close()is called.
-
int serd_buffer_close(void *stream)¶
Close the buffer for writing.
This writes a terminating null byte, so the contents of the buffer are safe to read as a string after this call.