From 69e2b2985da29e8755fb7837b06dbe7232c0447d Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov Date: Wed, 16 Jan 2019 19:44:59 +0000 Subject: [PATCH] Add mg_strfree() CL: Add mg_strfree() PUBLISHED_FROM=b80566218986e0607a9d2758bf776a1031b27212 --- mongoose.c | 8 ++++++++ mongoose.h | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/mongoose.c b/mongoose.c index 2a3eb07d..a7851188 100644 --- a/mongoose.c +++ b/mongoose.c @@ -1774,6 +1774,14 @@ int mg_strncmp(const struct mg_str str1, const struct mg_str str2, size_t n) { return mg_strcmp(s1, s2); } +void mg_strfree(struct mg_str *s) WEAK; +void mg_strfree(struct mg_str *s) { + char *sp = (char *) s->p; + s->p = NULL; + s->len = 0; + if (sp != NULL) free(sp); +} + const char *mg_strstr(const struct mg_str haystack, const struct mg_str needle) WEAK; const char *mg_strstr(const struct mg_str haystack, diff --git a/mongoose.h b/mongoose.h index 98c6730e..6f6d513f 100644 --- a/mongoose.h +++ b/mongoose.h @@ -2280,6 +2280,11 @@ int mg_strcmp(const struct mg_str str1, const struct mg_str str2); */ int mg_strncmp(const struct mg_str str1, const struct mg_str str2, size_t n); +/* + * Free the string (assuming it was heap allocated). + */ +void mg_strfree(struct mg_str *s); + /* * Finds the first occurrence of a substring `needle` in the `haystack`. */