#pragma once #include "type.h" typedef struct buffer { size_t sz, run; char* ptr; } buffer; void buffer_init(buffer* b); buffer buffer_mk(); void buffer_push(buffer* b, strp const data); strp buffer_crush(buffer* b, size_t max); size_t buffer_pushs(buffer* b, char const* data); #define buffer_pushl(b, d) (buffer_push(b, (strp){sizeof(d),(d)})) void buffer_clear(buffer* b);