void cbuf_append_bytes(struct cbuffer* buf, const char* msg, size_t len) { uhub_assert(buf->flags == 0); if (buf->size + len >= buf->capacity) cbuf_resize(buf, buf->size + len); memcpy(buf->buf + buf->size, msg, len); buf->size += len; buf->buf[buf->size] = '\0'; }
char* cbuf_reserve(cbuf* b, size_t len) { if(b->size < b->pos + len) cbuf_resize(b, MAX(2*b->size, b->pos + len)); return b->buf ? b->buf + b->pos : NULL; }