From a04cda2a492c0549ff94b6dfc41b150d9e0abe61 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 7 Dec 2010 21:41:20 +0000 Subject: [PATCH 1/1] xbt_dynar_to_array now destroys the dynar. The caller is now only responsible of freeing the received array git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9084 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/simdag/dot/dot_test2.c | 2 +- src/xbt/dynar.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/simdag/dot/dot_test2.c b/examples/simdag/dot/dot_test2.c index fd52e8f273..3ab168a9ec 100644 --- a/examples/simdag/dot/dot_test2.c +++ b/examples/simdag/dot/dot_test2.c @@ -55,7 +55,7 @@ int main(int argc, char **argv) SD_task_destroy(task); } - xbt_dynar_free_container(&dot); + free(&dot_as_array); /* exit */ SD_exit(); diff --git a/src/xbt/dynar.c b/src/xbt/dynar.c index c84b2ee084..30eafd0162 100644 --- a/src/xbt/dynar.c +++ b/src/xbt/dynar.c @@ -754,11 +754,14 @@ 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); dynar->used--; - return dynar->data; + res = dynar->data; + free(dynar); + return res; } /* -- 2.20.1