#include "web_misc.h" #include #include #include void bufstr_buf(bufstr *b, char *str) { if (str == b->buf || (str && b->buf && !strcmp(str, b->buf))) return; if (b->buf != b->fl) free(b->buf); b->buf = str ? strdup(str) : NULL; } bool bufstr_changed(bufstr *b) { return (!b->buf != !b->fl) || (b->buf != b->fl && strcmp(b->buf, b->fl)); } char *bufstr_flush(bufstr *b) { if (b->fl != b->buf) free(b->fl); b->fl = b->buf; return b->fl; } void bufstr_clear(bufstr *b) { if (b->buf != b->fl) free(b->buf); free(b->fl); b->fl = b->buf = NULL; }