(Pre-existing.)  The repeated use of pattern <code>BufferSet(buf, p, strlen(p));</code> could be construed as a reason to add a
<code>void BufferSetStr(Buffer *buf, const char *str) { BufferSet(buf, str, strlen(str)); } </code> to the API.  Likewise for BufferAppendStr().