From 74031d18d775104170cbd30a641750c4819ad520 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 18 Apr 2018 19:59:32 -0400 Subject: [PATCH] add String_new_size() --- src/String.c | 7 ++++++- src/String.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/String.c b/src/String.c index d597ec8..2c53d62 100644 --- a/src/String.c +++ b/src/String.c @@ -3,8 +3,13 @@ String * String_new(const char * s) { - String * new_st = (String *)malloc(sizeof(String)); size_t size = strlen(s); + return String_new_size(s, size); +} + +String * String_new_size(const char * s, size_t size) +{ + String * new_st = (String *)malloc(sizeof(String)); char * smem = (char *)malloc(size + 1u); memcpy(smem, s, size); smem[size] = '\0'; diff --git a/src/String.h b/src/String.h index 921c56e..385e70c 100644 --- a/src/String.h +++ b/src/String.h @@ -10,6 +10,7 @@ typedef struct } String; String * String_new(const char * s); +String * String_new_size(const char * s, size_t size); String * String_plus(const String * st, const char * s); String * String_concat(String * st, const char * s); static inline char * String_cstr(const String * st) { return st->value; }