#pragma once #include typedef struct { char *data; size_t len; size_t cap; } Buf; void buf_init(Buf *b); void buf_free(Buf *b); void buf_append(Buf *b, const char *s, size_t n); void buf_str(Buf *b, const char *s); void buf_fmt(Buf *b, const char *fmt, ...) __attribute__((format(printf,2,3)));