From 829dbc9948c913805d4a8ebde293d3c771778aa9 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 29 Nov 2011 14:38:23 +0100 Subject: [PATCH] Avoid the temporary malloc in xbt_dynar_to_array. --- src/xbt/dynar.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/xbt/dynar.c b/src/xbt/dynar.c index ae75d30cce..d6c70c5ff5 100644 --- a/src/xbt/dynar.c +++ b/src/xbt/dynar.c @@ -704,13 +704,12 @@ XBT_INLINE void xbt_dynar_sort(xbt_dynar_t dynar, */ XBT_INLINE void * xbt_dynar_to_array (xbt_dynar_t dynar) { - void * res; - void * last = xbt_new0(char,dynar->elmsize); - xbt_dynar_push(dynar, last); - free(last); - res = dynar->data; - free(dynar); - return res; + void *res; + xbt_dynar_shrink(dynar, 1); + memset(xbt_dynar_push_ptr(dynar), 0, dynar->elmsize); + res = dynar->data; + free(dynar); + return res; } /* -- 2.20.1