util  buffer.h at [0894d03fbf]

File clib/buffer.h artifact 97b258e329 part of check-in 0894d03fbf


#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);