From 21a046f93991e8192979d5eaea76b56ab5d46caf Mon Sep 17 00:00:00 2001 From: Bachir Lachguel <git@lachguel.com> Date: Fri, 28 Mar 2025 09:18:47 +0100 Subject: [PATCH] Add libstring stuff ! --- config/libstring.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/config/libstring.c b/config/libstring.c index 3505064..12a5371 100644 --- a/config/libstring.c +++ b/config/libstring.c @@ -38,6 +38,31 @@ int main(void) { } string_print(string_final); free(string_final); + + /**********************************************************************/ + + string_t *original = string_new("Hello world"); + string_t *substring_old = string_new("world"); + string_t *substring_new = string_new("Paris"); + + if (!original || !substring_old || !substring_new) { + printf("Invalid strings before substitution !"); + return -2; + } + + string_print(original); + string_t *new = string_replace(original, substring_old, substring_new); + if (!new) { + printf("Invalid strings after substitution !"); + return -3; + } + + free(original); + free(substring_old); + free(substring_new); + + string_print(new); + free(new); return 0; } @@ -288,9 +313,14 @@ string_t *string_replace(const string_t *str, const string_t *old, return string_clone(str); size_t len = str->len + n * (new->len - old->len); string_t *s = malloc(sizeof(string_t) + len); + // We add this check + if (!s) { + return s; + } s->len = len; char *t = s->buf; + int curr = 0; offset = 0; while (n--) { -- GitLab