labwc/src/common/buf.c

27 lines
438 B
C
Raw Normal View History

2020-07-31 21:31:03 +01:00
#include "common/buf.h"
void
buf_init(struct buf *s)
{
s->alloc = 256;
s->buf = malloc(s->alloc);
s->buf[0] = '\0';
s->len = 0;
}
void
buf_add(struct buf *s, const char *data)
{
if (!data || data[0] == '\0') {
return;
}
int len = strlen(data);
if (s->alloc <= s->len + len + 1) {
s->alloc = s->alloc + len;
s->buf = realloc(s->buf, s->alloc);
}
memcpy(s->buf + s->len, data, len);
s->len += len;
s->buf[s->len] = 0;
}