diff options
Diffstat (limited to 'buffer.c')
-rw-r--r-- | buffer.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c new file mode 100644 index 0000000..596d5d2 --- /dev/null +++ b/buffer.c @@ -0,0 +1,21 @@ +#include "buffer.h" + +#include <stdlib.h> +#include <string.h> + +void ab_append(struct append_buffer* ab, const char* string, int length) +{ + char* new = realloc(ab->buffer, ab->length + length); + + if (new == NULL) + return; + + memcpy(&new[ab->length], string, length); + ab->buffer = new; + ab->length += length; +} + +void ab_free(struct append_buffer* ab) +{ + free(ab->buffer); +} |