From 8c6d18757d2d4135963f3dbab6d2d5ec8c8b6af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sun, 29 Mar 2015 03:04:55 +0200 Subject: [PATCH] Factor out str_map_clear() --- liberty.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/liberty.c b/liberty.c index a46bc0d..da1e926 100644 --- a/liberty.c +++ b/liberty.c @@ -689,7 +689,7 @@ str_map_init (struct str_map *self) } static void -str_map_free (struct str_map *self) +str_map_clear (struct str_map *self) { struct str_map_link **iter, **end = self->map + self->alloc; struct str_map_link *link, *tmp; @@ -703,6 +703,14 @@ str_map_free (struct str_map *self) free (link); } + self->len = 0; + memset (self->map, 0, self->alloc * sizeof *self->map); +} + +static void +str_map_free (struct str_map *self) +{ + str_map_clear (self); free (self->map); self->map = NULL; }