#include #include #include /*Oh boy, CS101 linked lists*/ struct LLNode{ size_t length; char* data; struct LLNode* next; }; struct TMPL_buf{ size_t total_len; struct LLNode* head; struct LLNode* tail; }; void bputs(struct TMPL_buf* b, const char* s); void bputsn(struct TMPL_buf* b, const char* s, size_t size); void bputc(struct TMPL_buf* b, char s); struct TMPL_buf* alloc_tmpl_buf(void); void free_tmpl_buf(struct TMPL_buf* b); char* bstringify(struct TMPL_buf* b, size_t* size); void bprint(struct TMPL_buf* b);