From 41fd4cb254505669e473316f506030505bf33a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 30 Aug 2014 13:25:09 +0200 Subject: [PATCH] core: reset data contents in function arraylist_clear if size_alloc_min > 0 --- src/core/wee-arraylist.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/core/wee-arraylist.c b/src/core/wee-arraylist.c index 56d51e4ed..d2cba4b15 100644 --- a/src/core/wee-arraylist.c +++ b/src/core/wee-arraylist.c @@ -563,21 +563,17 @@ arraylist_clear (struct t_arraylist *arraylist) if (arraylist->data && (arraylist->size_alloc != arraylist->size_alloc_min)) { - if (arraylist->size_alloc_min == 0) + free (arraylist->data); + arraylist->data = NULL; + arraylist->size_alloc = 0; + if (arraylist->size_alloc_min > 0) { - free (arraylist->data); - arraylist->data = NULL; - } - else - { - data = realloc ( - arraylist->data, - arraylist->size_alloc_min * sizeof (*arraylist->data)); - if (!data) + arraylist->data = calloc(arraylist->size_alloc_min, + sizeof (*arraylist->data)); + if (!arraylist->data) return 0; - arraylist->data = data; + arraylist->size_alloc = arraylist->size_alloc_min; } - arraylist->size_alloc = arraylist->size_alloc_min; } arraylist->size = 0;