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;
}