diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-10-22 21:15:44 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-10-22 21:15:44 +0100 |
commit | 0e8324567b8f9cf7263619857c3c392d004c9fec (patch) | |
tree | 8b6e6eb14a7c4cc733cf54a18a8dc668ee41c229 | |
parent | 9e78e76f3f4997b481231a29ae19067b79708f2a (diff) | |
download | dynstr-0e8324567b8f9cf7263619857c3c392d004c9fec.tar.gz |
Implement dynstr_free, and use it in one location.
valgrind now reports one fewer leak.
-rw-r--r-- | dynstr.c | 9 | ||||
-rw-r--r-- | unittests.c | 1 |
2 files changed, 10 insertions, 0 deletions
@@ -118,6 +118,15 @@ Dynstr *dynstr_new_from_constant_memory(const void *mem, size_t size) return new(mem, size, false); } +void dynstr_free(Dynstr *dynstr) +{ + if (dynstr) { + if (dynstr->dynamic) + free((void *) dynstr->mem); + free(dynstr); + } +} + size_t dynstr_len(Dynstr *dynstr) { return dynstr->size; diff --git a/unittests.c b/unittests.c index d9be8b8..4fc121d 100644 --- a/unittests.c +++ b/unittests.c @@ -162,6 +162,7 @@ static int test_empty_string_is_empty(void) dynstr = dynstr_new_empty(); FAIL_UNLESS_EQUAL(dynstr_len(dynstr), 0); FAIL_UNLESS_EQUAL(dynstr_is_empty(dynstr), true); + dynstr_free(dynstr); return true; } |