From 3860d330a370b2cb2cf1a1b26fa91907a9748245 Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Thu, 4 Jan 2024 22:01:50 -0800 Subject: first commit --- better_string.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 better_string.h (limited to 'better_string.h') diff --git a/better_string.h b/better_string.h new file mode 100644 index 0000000..03bc6f6 --- /dev/null +++ b/better_string.h @@ -0,0 +1,28 @@ +#ifndef BETTER_STRING_H +#define BETTER_STRING_H +#include +/* We want better strings to realloc less and keep track of the length of the + * string so we don't have to call strlen every time */ +typedef struct STRING_STRUCT { + /* length of string */ + size_t length; + /* Size of current value buffer */ + size_t bufsize; + char *value; +} string_t; + +/* Allocates memory for new string */ +string_t *init_string(char *value); + +/* Copies string to another string */ +string_t *string_copy(string_t *s); + +/* Concatenates a string_t type and a char * type */ +void string_concat(string_t *s1, string_t *s2); + +/* Appends single characters */ +void string_append(string_t *s, char c); + +/* Frees space for string */ +void string_free(string_t *s); +#endif -- cgit