diff options
Diffstat (limited to 'libs/string.c')
-rw-r--r-- | libs/string.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/string.c b/libs/string.c new file mode 100644 index 0000000..9917e4f --- /dev/null +++ b/libs/string.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "string.h" + +String newString(char *string) +{ + String s; + if (string != NULL && strlen(string) > 0) + { + s.length = strlen(string); + s.string = (char *)calloc(s.length + 1, sizeof(char)); + strcpy(s.string, string); + } + else + { + s.length = 0; + s.string = (char *)calloc(1, sizeof(char)); + } + + return s; +} + +void freeString(String *s) +{ + s->length = 0; + free(s->string); +} |