#include #define VBUF_ABUF_SIZE 16 typedef struct { unsigned int flags; unsigned int len; unsigned int size; unsigned int chunksize; char* ptr; char abuf[VBUF_ABUF_SIZE]; } vbuf_t; void vbuf_init0(vbuf_t* vbuf); void vbuf_destroy(vbuf_t* vbuf); vbuf_t* vbuf_createbuf2(const char* buf, int len); void vbuf_init(vbuf_t* vbuf); void vbuf_freeptr(vbuf_t* vbuf); int vbuf_gets(vbuf_t* vbuf, FILE* fp); void vbuf_ensure(vbuf_t* vbuf, unsigned int delta); char* vbuf_tostring(const vbuf_t* vbuf); const char* vbuf_notnull(const vbuf_t* vbuf);