summaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authorcflip <cflip@cflip.net>2023-01-08 14:15:01 -0700
committercflip <cflip@cflip.net>2023-01-08 14:15:01 -0700
commit91195d34e1f71246cadc41705004d66ab647087e (patch)
tree0d2f7e929b7b51590d270e2f22fb5a3621204bf2 /buffer.c
Initial import of existing source code
This is based off of snaptoken's "Build Your Own Text Editor" tutorial at https://viewsourcecode.org/snaptoken/kilo/.
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c21
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);
+}